zoukankan      html  css  js  c++  java
  • Spring的常用使用场景

    本章介绍两个常用的使用场景Spring如何使用多个外部属性文件以及基于注解的方式配置bean。


    如何使用多个外部属性文件?

      

    beans.xml

        

    1 ...
    2 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    3     <property name="driverClassName" value="${jdbc.driver}"/>
    4     <property name="url" value="${jdbc.url}"/>
    5     <property name="username" value="${jdbc.username}"/>
    6     <property name="password" value="${jdbc.password}"/>
    7 </bean>
    8 ...

    jdbc.properites

    1 jdbc.driver=com.mysql.jdbc.Driver
    2 jdbc.url=jdbc:mysql://localhost:3306/shake?useUnicode=true&characterEncoding=utf-8
    3 jdbc.username=root
    4 jdbc.password=admin

    这是Spring中最常见的对数据源的配置

     1.完全可以把jdbc.driver的值写入到beans.xml中,但是对于大项目,某一天需要修改其中的值,那就需要从庞大的beans.xml中寻找到其位置,不利于封装。

     2.可以将针对性的配置提取到外部的一个配置文件中,这样修改起来省事省力。

        3.光有以上的配置是无法工作的,spring的beans.xml不知道去哪里查找相应的变量,所以还需要在beans.xml中添加如下标签。

      <context:property-placeholder location="jdbc.properties"/>

     4.对于<context:property-placeholder location="jdbc.properties"/>这样的标签,如果有多个这样的定义,只会生效第一个,后面的都会忽略。

    测试代码

     解决方法

      采用通配符的方式,只定义一次,但是可以匹配多个外部属性文件

      <context:property-placeholder location="class*:*.properties"/>

      这样就能够正常运行上面的测试方法。

    1 @Test
    2 public void testJDBCConfiguration() throws SQLException {
    3     ApplicationContext act=new ClassPathXmlApplicationContext("beans.xml");
    4     DataSource dataSource = (DataSource) act.getBean("dataSource");
    5     System.out.println(dataSource.getConnection());
    6 }

     

    岁月本长而忙者自促;天地本宽而卑者自隘;风花雪月本闲,而劳忧者自冗;天行健,君子以自强不息;地势坤,君子以厚德载物;宠辱不惊,闲看庭前花开花落;去留无意,漫随天外云卷云舒.不妄取,不妄予,不妄想,不妄求,与人方便,随遇而安
  • 相关阅读:
    Java实现 LeetCode 56 合并区间
    JQuery实现对html结点的操作(创建,添加,删除)
    JQuery实现对html结点的操作(创建,添加,删除)
    JQuery实现对html结点的操作(创建,添加,删除)
    Java实现 LeetCode 55 跳跃游戏
    Java实现 LeetCode 55 跳跃游戏
    Java实现 LeetCode 55 跳跃游戏
    Java实现 LeetCode 54 螺旋矩阵
    Java实现 LeetCode 54 螺旋矩阵
    Java实现 LeetCode 54 螺旋矩阵
  • 原文地址:https://www.cnblogs.com/vvning/p/7590759.html
Copyright © 2011-2022 走看看