xml中直接读取properties键值的解决方式

spring 框架的xml文件如何读取properties文件数据

第一步:在spring配置文件中

  注意:value可以多配置几个properties文件

<bean id="propertyConfigurer"

              class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

              <property name="locations">

                     <list>

                            <value>/db.properties</value>

                           

                     </list>

              </property>

       </bean>


或者


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

第二步:

  在src目录下面建立db.properties文件

user=sa

password=sa

driver=com.microsoft.sqlserver.jdbc.SQLServerDriver

url=jdbc:sqlserver://localhost:1433;databaseName=DB1

第三步:

  在spring的配置文件中通过EL表达式的形式调用 

 ${user}

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

 

       <bean id="propertyConfigurer"

              class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

              <property name="locations">

                     <list>

                            <value>/db.properties</value>

                     </list>

              </property>

       </bean>

 

       <bean id="datasource"

              class="org.springframework.jdbc.datasource.DriverManagerDataSource">

              <property name="driverClassName"

                     value="${driver}">

              </property>

              <property name="url"

                     value="${url}">

              </property>

              <property name="username" value="${user}"></property>

              <property name="password" value="${password}"></property>

       </bean>

       <bean id="sessionFactory"

              class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

              <property name="dataSource">

                     <ref bean="datasource" />

              </property>

              <property name="hibernateProperties">

                     <props>

                            <prop key="hibernate.dialect">

                                  org.hibernate.dialect.SQLServerDialect

                            </prop>

                     </props>

              </property>

              <property name="mappingResources">

                     <list>

                            <value>entity/Users.hbm.xml</value>

                     </list>

              </property>

       </bean>

       <bean id="UsersDAO" class="dao.UsersDAO">

              <property name="sessionFactory">

                     <ref bean="sessionFactory" />

              </property>

       </bean>

 </beans>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring框架提供了一种便捷的方式读取properties文件的配置信息。在Spring,我们可以使用PropertyPlaceholderConfigurer或PropertySourcesPlaceholderConfigurer来加载properties文件。 PropertyPlaceholderConfigurer是在Spring 3.1之前版本使用的类,用于从classpath或指定位置加载properties文件。它可以将properties文件键值对替换为Spring配置文件的占位符。通过将PropertyPlaceholderConfigurer配置为Bean的一部分,我们可以在XML配置文件使用占位符来引用properties文件。例如,我们可以在XML配置一个DataSource Bean,并通过占位符引用properties文件数据库连接信息。 PropertySourcesPlaceholderConfigurer是从Spring 3.1版本引入的新类,它可以更方便地处理properties文件。与PropertyPlaceholderConfigurer不同,PropertySourcesPlaceholderConfigurer允许我们使用@Value注解来直接注入properties文件的属性。我们可以在Java配置类或XML配置文件配置PropertySourcesPlaceholderConfigurer,并在需要的地方使用@Value注解来获取properties文件的属性。 无论我们使用哪种方式读取properties文件,我们都需要确保将其配置为Spring容器的一部分,并以适当的方式加载它。通常,我们会在Spring配置文件添加一个bean来加载properties文件,并将其配置为其他bean的属性或参数的。 总结起来,Spring提供了两种主要的方法来读取properties文件:使用PropertyPlaceholderConfigurer或PropertySourcesPlaceholderConfigurer。这些类可以让我们轻松地将properties文件的配置引入到Spring容器,并在我们的应用程序使用它们。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值