Spring的发展
1、Spring 1.x
spring 1.x 时代主要使用xml配置和java代码的方式
2、Spring 2.x
随着JDK 1.5带来的注解支持,Spring2.x可以使用注解对Bean进行申明和注入,大大的减少了xml配置文件,同时也大大简化了项目的开发。
1、 应用的基本配置用xml,比如:数据源、资源文件等;
2、 业务开发用注解,比如:Service中注入bean等;
3、Spring 3.x,4.x
从Spring3.x开始提供了Java配置方式,使用Java配置方式可以更好的理解你配置的Bean,现在我们就处于这个时代,并且Spring4.x和Springboot都推荐使用java配置的方式。
3.1 Spring 3.x,4.x 注解说明
- @Configuration
@Configuration作用于类上,相当于一个xml配置文件; - @Bean
@Bean作用于方法上,相当于xml配置中的<bean> - 读取外部配置文件
类上的注解:
@Configuration//通过该注解来表明该类是一个Spring的配置,相当于一个xml文件
@ComponentScan(basePackages = "com.xxx.xxx") //配置扫描包
@PropertySource(value= {"classpath:jdbc.properties"})
注解配置到field
eg:
@Value("${jdbc.url}")
private String jdbcUrl;
备注:
1、查看PropertySource.java可以发现,可以配置多个配置文件,可以处理找不到的情况。
4、获取数据源案例
/**
* @Bean 相当与获取一个bean,类似xml 方式的配置,方法名就是xml方式配置bean的id,所
*以方法不用getDataSource, id 一般不用getXXX.
* @return
*/
**@Bean(destroyMethod = "close")**//destroyMethod = "close"
public DataSource dataSource() {
BoneCPDataSource boneCPDataSource = new BoneCPDataSource();
// 数据库驱动
boneCPDataSource.setDriverClass(jdbcDriverClassName);
// 相应驱动的jdbcUrl
boneCPDataSource.setJdbcUrl(jdbcUrl);
// 数据库的用户名
boneCPDataSource.setUsername(jdbcUsername);
// 数据库的密码
boneCPDataSource.setPassword(jdbcPassword);
// 检查数据库连接池中空闲连接的间隔时间,单位是分,默认值:240,如果要取消则设置为0
boneCPDataSource.setIdleConnectionTestPeriodInMinutes(60);
// 连接池中未使用的链接最大存活时间,单位是分,默认值:60,如果要永远存活设置为0
boneCPDataSource.setIdleMaxAgeInMinutes(30);
// 每个分区最大的连接数
boneCPDataSource.setMaxConnectionsPerPartition(100);
// 每个分区最小的连接数
boneCPDataSource.setMinConnectionsPerPartition(5);
final Connection connection;
try {
connection = boneCPDataSource.getConnection();
System.out.println("数据库连接为:");
System.out.println(connection);
} catch (SQLException e) {
e.printStackTrace();
}
return boneCPDataSource;
}
**备注:**
1、@Bean(destroyMethod = "close")以便Spring容器关闭时,数据源能够正常关闭;销毁方法调用close(),是将连接关闭,并不是真正的把资源销毁。
2、同时我们可以注意BoneCPDataSource 对数据源的设置。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。