Spring基础--完全抛去xml配置文件的spring自带相应式事务控制

前面从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.

猜你喜欢

转载自blog.csdn.net/qq_44660367/article/details/108808265