1.1.1. 读取外部的资源配置文件
通过@PropertySource可以指定读取的配置文件,通过@Value注解获取值,具体用法:
@Configuration //通过该注解来表明该类是一个Spring的配置,相当于一个<u>xml</u>文件
@ComponentScan(basePackages = "cn.itcast.springboot.javaconfig") //配置扫描包
@PropertySource(value= {"classpath:jdbc.properties"})
**public** **class** SpringConfig {
@Value("${jdbc.url}")
**private**String jdbcUrl;
@Bean // 通过该注解来表明是一个Bean对象,相当于<u>xml</u>中的<bean>
**public** UserDAO getUserDAO(){
**return** **new**UserDAO(); // 直接new对象做演示
}
}
思考:
1、 如何配置多个配置文件?
2、 如果配置的配置文件不存在会怎么样?
1.1.2. 配置数据库连接池
导入依赖:
<!-- 连接池 -->
<dependency>
<groupId>com.jolbox</groupId>
<artifactId><u>bonecp</u>-spring</artifactId>
<version>0.8.0.RELEASE</version>
</dependency>
之前的Spring xml配置:
<!-- 定义数据源 -->
<bean id=*"dataSource"* class=*"com.jolbox.bonecp.BoneCPDataSource"*
destroy-method=*"close"*>
<!-- 数据库驱动 -->
<property name=*"driverClass"* value=*"${jdbc.driverClassName}"* />
<!-- 相应驱动的jdbcUrl -->
<property name=*"jdbcUrl"* value=*"${jdbc.url}"* />
<!-- 数据库的用户名 -->
<property name=*"username"* value=*"${jdbc.username}"* />
<!-- 数据库的密码 -->
<property name=*"password"* value=*"${jdbc.password}"* />
<!-- 检查数据库连接池中空闲连接的间隔时间,单位是分,默认值:240,如果要取消则设置为0 -->
<property name=*"idleConnectionTestPeriod"* value=*"60"* />
<!-- 连接池中未使用的链接最大存活时间,单位是分,默认值:60,如果要永远存活设置为0 -->
<property name=*"idleMaxAge"* value=*"30"* />
<!-- 每个分区最大的连接数 -->
<!--
判断依据:请求并发数
-->
<property name=*"maxConnectionsPerPartition"* value=*"100"* />
<!-- 每个分区最小的连接数 -->
<property name=*"minConnectionsPerPartition"* value=*"5"* />
</bean>
参考xml配置改造成java配置方式:
@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;
}
思考: 如何使用该DataSource对象?
网友评论