zoukankan      html  css  js  c++  java
  • Spring学习记录(六)---使用外部属性文件

    在bean配置资源或系统部署,如数据库的连接时,需要这样:

     要包含相关jar包:c3p0.jar 和mysql.connector.jar

     xml配置:

    1 <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    2     <property name="user" value="root"></property>
    3     <property name="password" value="1234"></property>
    4     <property name="driverClass" value="com.mysql.jdbc.Driver"></property>
    5     <property name="jdbcUrl" value="jdbc:mysql:///test"></property>
    6 
    7 </bean>

     main函数调用:

    1 public static void main(String[] args) throws SQLException{ //可能有异常,这里不捕捉
    2 Application ctx = new ClassPathXmlApplicationContext("jdbc.xml");
    3 DataSource datasource = (DataSource)ctx.getBean("dataSource");
    4 System.out.println(dataSource.getConnection()); //com.mchange.v2.c3p0.impl.NewProxyConnection@3ca6b9    表示成功
    5 }

    如果数据库有更改,在配置里改一下相关信息就可以。但是,实际项目中并不这样,因为实际中没有这么简单的配置,包含了大量的信息,如下: (这里信息算是少的)

    也看出来,实际中用这样的符号:${},代表引用外部的变量

     通过把配置信息独立到一个文件里面,bean用${}方式引用, 便于维护、更清晰

     所以,上面xml配置可以改成这样:

    新建一个文件专门存放可能需要修改的配置: db.properties

    1 user=root
    2 password=1234
    3 driverclass=com.mysql.jdbc.Driver
    4 jdbcurl=jdbc.mysql:///test

     在jdbc.xml中,添加context命名空间,用来引入文件

    1 <!--导入属性文件-->
    2 <context:property-placeholder location="classpath:db.properties"/>
    3  <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    4      <property name="user" value="${user}"></property>
    5      <property name="password" value="${password}"></property>
    6      <property name="driverClass" value="${driverclass}"></property>
    7      <property name="jdbcUrl" value="${jdbcurl}"></property>
    8  </bean>

     这样,要修改数据库信息,只需要在db.properties文件中修改即可。不必去复杂的xml中去找。提高了维护的效率

  • 相关阅读:
    lombok 的使用
    SpringData Redis 常见操作(基于模板类RedisTemplate )
    Django,静态文件配置
    django简介与MTV,MVC
    HTTP请求响应,及工作原理
    阿萨斯

    javastrip
    css
    html
  • 原文地址:https://www.cnblogs.com/ooooevan/p/5802490.html
Copyright © 2011-2022 走看看