spring加载外部属性文件进行数据库连接

意义

进行软编码,对spring配置中需要经常变动的属性提取到外部属性文件中,减少对配置文件的改动,方便环境部署。如数据库连接的用户名、密码等。

项目目录

fd4e58c609d95e18cafd3d2146aa545.png

jdbc.properties的内容:

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc\:mysql\://localhost\:3306/bnsg?characterEncoding=utf-8&allowMultiQueries=true&useSSL=false&rewriteBatchedStatements=true
jdbc.password=Smartsecuri@6300
#jdbc.password=configAdmin
jdbc.username=root

内容是连接数据库信息。

在spring-platform-mybatis.xml中的配置

 <!-- 加载数据库属性配置文件 -->
    <context:property-placeholder
        location="classpath:config/db/jdbc/jdbc.properties" />

    <!-- 配置数据库C3P0连接池 -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
        destroy-method="close">
        <property name="driverClass" value="${jdbc.driverClassName}" />
        <property name="jdbcUrl" value="${jdbc.url}" />
        <property name="user" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />
        <property name="maxPoolSize" value="50"></property>
        <property name="minPoolSize" value="1"></property>
        <property name="initialPoolSize" value="1"></property>
        <property name="maxIdleTime" value="20"></property>
    </bean>

加载多个properties时:

 <!-- 将多个配置文件读取到容器中,交给Spring管理 -->  
    <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
        <property name="locations">  
           <list>  
              <!-- 这里支持多种寻址方式:classpath和file -->  
              <value>classpath:/opt/demo/config/demo-db.properties</value>  
              <!-- 推荐使用file的方式引入,这样可以将配置和代码分离 -->  
              <value>file:/opt/demo/config/demo-mq.properties</value>  
              <value>file:/opt/demo/config/demo-remote.properties</value>  
            </list>  
        </property>  
    </bean>  
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容