spring读取properties和其他配置文件的几种方式

简介: 1、因为spring容器的一些机制,在读取配置文件进行数据库的配置等等是很有必要的,所以我们要考虑配置文件的的读取方式以及各个方式的实用性2、配置文件的读取方式我这里介绍2种,目的是掌握这2种就可以很好的应用了3、这里我的properies配置文件如下:driver=com.

1、因为spring容器的一些机制,在读取配置文件进行数据库的配置等等是很有必要的,所以我们要考虑配置文件的的读取方式以及各个方式的实用性

2、配置文件的读取方式我这里介绍2种,目的是掌握这2种就可以很好的应用了

3、这里我的properies配置文件如下:

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/m_model?useUnicode=true&characterEncoding=utf8
username=root
password=root

4、第一种读取方式:一种采用bean的配置方式,一种是标签的形式

  1)bean的配置方式(推荐使用这种方式)

  <bean id="propertyPlaceholderConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <!-- 如果是单个文件可以按照注释的方式来配置 -->
        <!-- <property name="location" value="classpath:conf/spring-config.properties"/> -->
        <property name="locations">
            <array>
                <value>classpath:conf/spring-config.properties</value>
            </array>
        </property>
    </bean>
    
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="${driver}"/>
        <property name="url" value="${url}"/>
        <property name="username" value="${username}"/>
        <property name="password" value="${password}"/>
    </bean>

  2)标签的配置方式

   <context:property-placeholder location="classpath:conf/spring-config.properties"/>
    
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="${driver}"/>
        <property name="url" value="${url}"/>
        <property name="username" value="${username}"/>
        <property name="password" value="${password}"/>
    </bean>

问题:这里我遇到了读取配置处错的问题:

会出现乱码的情况,然后我找了一些处理方式
  (1)修改properties针对字符的配置

url=jdbc:mysql\://localhost\:3306\/m_model?useUnicode=true&amp;characterEncoding=utf8

  (2)加入读取配置时进行文件编码

<context:property-placeholder location="classpath:conf/spring-config.properties" file-encoding="UTF-8"/>  

这两种方式我都试过了,目前还不知道什么原因导致的乱码问题。有大神可以指教一下
指教!指教!指教!指教!指教!指教!指教!指教!指教!指教!指教!指教!指教!指教!指教!指教!指教!指教!指教!指教!指教!指教!指教!指教!

5、是用util:properties便签来实现的,这种方式就是单纯的来读取配置文件

<util:properties id="config" location="classpath:conf/spring-config.properties"/>
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="#{config.driver}"/>
        <property name="url" value="#{config.url}"/>
        <property name="username" value="#{config.username}"/>
        <property name="password" value="#{config.password}"/>
    </bean>
    

 注意:这里是采用#{id.属性}来实现具体的读取,上面是直接$(属性来实现的)

6、这两种方式是针对于xml配置xml赋值的方式来实现,在使用过程中也可以使用通过标签的方式给具体的java代码赋值,便于管理

@Value("#{config.username}")
private String userName;

这种方式也可以用来装配具体的属性,便于合理管理相关配置

 

相关文章
|
1月前
|
XML Java 数据库
【Spring】SpringBoot 配置文件
【Spring】SpringBoot 配置文件
|
1月前
|
安全 Java 数据库连接
《Spring Boot配置文件大揭秘:看懂 application.yaml 与 bootstrap.yaml 的不同》
《Spring Boot配置文件大揭秘:看懂 application.yaml 与 bootstrap.yaml 的不同》
252 0
|
1月前
|
Java 数据库连接 API
【Spring】1、Spring 框架的基本使用【读取配置文件、IoC、依赖注入的几种方式、FactoryBean】
【Spring】1、Spring 框架的基本使用【读取配置文件、IoC、依赖注入的几种方式、FactoryBean】
67 0
|
10天前
|
设计模式 Java 关系型数据库
Spring的配置文件,如何配置端口号,,properties,yml获取配置项等方法,外观模式及其优缺点,日志代表的信息
Spring的配置文件,如何配置端口号,,properties,yml获取配置项等方法,外观模式及其优缺点,日志代表的信息
|
11天前
|
JavaScript Java 数据库连接
Spring Boot 配置文件
Spring Boot 配置文件
17 0
|
18天前
|
XML 监控 Java
Spring Boot 配置文件
Spring Boot 配置文件
23 2
|
22天前
|
Java 容器 Spring
Spring的加载配置文件、容器和获取bean的方式
Spring的加载配置文件、容器和获取bean的方式
28 3
Spring的加载配置文件、容器和获取bean的方式
|
1月前
|
Java Shell 测试技术
一次配置,多场景适用:Spring Boot多套配置文件的深度剖析
一次配置,多场景适用:Spring Boot多套配置文件的深度剖析
42 0
一次配置,多场景适用:Spring Boot多套配置文件的深度剖析
|
1月前
|
Java Maven 数据库
Spring系列文章4:读取配置文件
Spring系列文章4:读取配置文件
|
1月前
|
Java Spring
ssm(Spring+Spring mvc+mybatis)Spring配置文件——applicationContext.xml
ssm(Spring+Spring mvc+mybatis)Spring配置文件——applicationContext.xml
16 0