Spring 的 Java 配置方式
Java 配置是 Spring4.x 推荐的配置方式,可完全替代 xml 配置
@Configuration 和 @Bean
Spring 的 Java 配置方式是通过 @Configuration 和 @Bean 这两个注释实现的:
1.@Configuration 作用于类上,相当于一个xml配置文件;
2. @Bean 作用于方法上,相当于 xml 配置中的 <bean> ;
@ComponentScan
Spring 通过 @ComponentScan 配置报扫描:
@ComponentScan(basePackages = “xxx.xxx.xxx”)
@PropertySource
Spring 通过 @PropertySource 读取外部的资源文件:
ignoreResourceNotFound = true 忽略没有找到的配置文件
@PropertySource(value= {“classpath:jdbc.properties”}, ignoreResourceNotFound = true)
配置数据库连接池
@Configuration //通过该注解来表明该类是一个Spring的配置,相当于一个xml文件
@ComponentScan(basePackages = "cn.td.springboot.javaconfig") //配置扫描包
@PropertySource(value= {"classpath:jdbc.properties"}, ignoreResourceNotFound = true) //读取外部文件获取jdbc参数值
public class SpringConfig {
@Value("${jdbc.url}")
private String jdbcUrl;
@Value("${jdbc.driverClassName}")
private String jdbcDriverClassName;
@Value("${jdbc.username}")
private String jdbcUsername;
@Value("${jdbc.password}")
private String jdbcPassword;
@Bean(destroyMethod = "close")
public DataSource dataSource() {
BoneCPDataSource boneCPDataSource = new BoneCPDataSource();
// 数据库驱动
boneCPDataSource.setDriverClass(jdbcDriverClassName);
// 相应驱动的jdbcUrl
boneCPDataSource.setJdbcUrl(jdbcUrl);
// 数据库的用户名
boneCPDataSource.setUsername(jdbcUsername);
// 数据库的密码
boneCPDataSource.setPassword(jdbcUsername);
// 检查数据库连接池中空闲连接的间隔时间,单位是分,默认值:240,如果要取消则设置为0
boneCPDataSource.setIdleConnectionTestPeriodInMinutes(60);
// 连接池中未使用的链接最大存活时间,单位是分,默认值:60,如果要永远存活设置为0
boneCPDataSource.setIdleMaxAgeInMinutes(30);
// 每个分区最大的连接数
boneCPDataSource.setMaxConnectionsPerPartition(100);
// 每个分区最小的连接数
boneCPDataSource.setMinConnectionsPerPartition(5);
return boneCPDataSource;
}
@Bean // 通过该注解来表明是一个Bean对象,相当于xml中的<bean>
public UserDAO getUserDAO(){
return new UserDAO(); // 直接new对象做演示
}
}