标签:rri end enc sel str imp ret return 构建
<!--spring-jdbc的依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <!--mysql驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/my_db?serverTimezone=GMT
spring.datasource.username=chy
spring.datasource.password=abcd
@Repository public class UserDao implements UserDao{ private JdbcTemplate jdbcTemplate; @Autowired public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; } @Override public String queryUserById(Integer id){ String sql = "select username from user_tb where id=?"; String username = jdbcTemplate.queryForObject(sql, String.class, id); return username; } }
为了图方便,我直接写了dao,没写service、controller,然后在引导类中new了dao层来测试,一直报错:空指针异常。
配置、dao层都没错,sout(jdbcTemplate),为空。老老实实写了service、controller就好了。
在springboot中,未使用<bean>显式配置依赖(数据源)、需要spring容器自动构建依赖、注入依赖的bean不能直接new,直接new出来是空的。
标签:rri end enc sel str imp ret return 构建
原文地址:https://www.cnblogs.com/chy18883701161/p/12274441.html