1. 新的管理 bean 的方式
- 【1】xml
<bean class="类">
*【2】 给类上添加注解 @Component, @Service, @Controller, @Repository, @Mapper, @RestController,配合扫描找到他们管理 - 【3】@Bean 配合工厂方法,生成对象交给spring容器管理
// <bean id="userService" class="UserService">
// 工厂方法, 生产一个希望由 spring 管理的对象
// 方法名相当于 bean 的id,方法返回的对会放入容器,其他地方可以使用@Autowired 对它进行依赖注入
// 此方法只会被调用一次,因为默认情况要保证userService对象是单例的
@Bean
public UserService userService() {
return new UserService();
}
如果希望把这些bean的定义集中管理,新建一个 配置类
@Configuration
public class 配置类 {
@Bean
public 工厂方法1() {}
@Bean
public 工厂方法2() {}
}
2. 自动创建数据库结构,导入数据
resources
schema.sql – 存放删表建表语句 ddl
data.sql – 存放 insert 数据的 sql
需要在 application.properties
spring.datasource.initialization-mode=always 每次启动 spring boot应用程序时,总会执行 schema.sql 和 data.sql
3. spring boot 集成 jdbc
JdbcTemplate jdbc模板类 (模板模式)
ctrl + alt + B 列出某个接口的所有实现类
- 加入 start-jdbc 依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
- 为 dao 类注入jdbcTemplate属性
@Repository
public class Dao类 {
@Autowired
private JdbcTemplate jdbc;
// jdbc.update(sql, sql中?值) 执行增、删、改
// jdbc.query(sql, rowMapper, sql中?值) 执行查询结果为多行时
// jdbc.queryForObject(sql, rowMapper, sql中?值) 执行查询结果为一行时
}
4. 事务控制
jdbc, mybatis
要启用事务管理,在入口类上加一个 @EnableTransactionManagement
需要事务的方法上加上 @Transactional