前面从XML配置到注解配置,注解配置链接,但注解配置并没有完全抛掉bean.xml配置文件。
1、创建主配置文件
springConfiguration.java
/*
* spring的配置类,相当于bean.xml
* */
@Configuration
@ComponentScan("org.example") // 配置要扫描的包
@Import({
jdbcConfiguration.class,transactionConfig.class}) // 导入子配置文件
@EnableTransactionManagement // 开启注解自动事务配置
@PropertySource("jdbcConfig.properties") // 导入配置文件数据
public class SpringConfiguration {
}
2、创建JdbcTemplate相关配置
jdbcConfiguration.java
/*
*和连接数据库相关配置的类
* */
@Configuration
public class jdbcConfiguration {
@Value("${jdbc.driver}")
private String driver;
@Value("${jdbc.url}")
private String url;
@Value("${jdbc.username}")
private String username;
@Value("${jdbc.password}")
private String password;
// 创建jdbcTemplate
@Bean(name = "jdbcTemplate")
public JdbcTemplate createJdbcTemplate(DataSource dataSource) {
return new JdbcTemplate(dataSource);
}
// 创建数据源对象
@Bean(name = "datasource")
public DataSource createDataSource() {
DriverManagerDataSource ds = new DriverManagerDataSource();
ds.setDriverClassName(driver);
ds.setUrl(url);
ds.setUsername(username);
ds.setPassword(password);
return ds;
}
}
3、创建数据源信息配置
jdbcConfig.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/spring
jdbc.username=root
jdbc.password=123456
4、创建事务管理器相关配置
transactionConfig.java
@Configuration
public class transactionConfig {
/*
* 创建事务管理器
**/
@Bean(name = "transactionManger")
public PlatformTransactionManager createTransactionManager(DataSource dataSource) {
return new DataSourceTransactionManager(dataSource);
}
}
5、测试文件导入主配置类则可正常测试
@ContextConfiguration(classes = {
SpringConfiguration.class})
总结:抛去bean.xml文件的配置,也就是建立各个配置文件,然后导入到一个主配置文件,主配置文件也就相当于一个bean.xml.