美文网首页
2018-03-03-1.spring读取外部的资源配置文件

2018-03-03-1.spring读取外部的资源配置文件

作者: 简单coder | 来源:发表于2018-03-04 11:18 被阅读34次

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对象?

相关文章

网友评论

      本文标题:2018-03-03-1.spring读取外部的资源配置文件

      本文链接:https://www.haomeiwen.com/subject/awvxfftx.html