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

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;

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

时间: 2024-10-04 23:13:29

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

Spring 读取 properties

一.只读取单个 properties 文件 1.在 spring 的配置文件中,加入 引入命名空间: xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation="http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd" 内

零基础学习java------22----------社交用户分析案例,反射(概念,获取配置文件的3种方式)

1. 社交用户关系数据分析案例 数据样例: 需求: 1. 获取每个人的好友个数,并按照好友数量排序 2. 获取任意两个人的共同好友 3.获取所有人两两共同好友 1. public class SimpleFriendsDemo1 { public static void main(String[] args) { HashMap<String, Integer> map = new HashMap<>(); try ( // 获取缓冲字符流,读取并切割数据 BufferedRead

Spring的依赖注入(DI)三种方式

Spring依赖注入(DI)的三种方式,分别为: 1.  接口注入 2.  Setter方法注入 3.  构造方法注入 下面介绍一下这三种依赖注入在Spring中是怎么样实现的. 首先我们需要以下几个类: 接口 Logic.java 接口实现类 LogicImpl.java 一个处理类 LoginAction.java 还有一个测试类 TestMain.java Logic.java如下: package com.spring.test.di; public interface Logic {

spring加载hibernate映射文件的几种方式。转自:http://blog.csdn.net/huiwenjie168/article/details/7013618

在Spring的applicationContext.xml中配置映射文件,通常是在<sessionFactory>这个Bean实例中进行的,若配置的映射文件较少时,可以用sessionFactory的所属类LocalSessionFactoryBean的“mappingResources”属性,方式包括(mappingResources,mappingLocations.mappingDirectoryLocations与mappingJarLocations )定义方法如下: 第一种: &

Spring依赖注入(DI)的三种方式

Spring依赖注入(DI)的三种方式 Spring依赖注入(DI)的三种方式,分别为: 1. 接口注入 2. Setter方法注入 3. 构造方法注入 下面介绍一下这三种依赖注入在Spring中是怎么样实现的. 首先我们需要以下几个类: 接口 Logic.java 接口实现类 LogicImpl.java 一个处理类 LoginAction.java 还有一个测试类 TestMain.java Logic.java如下: package com.spring.test.di? public i

加载hibernate配置文件的2种方式

4.加载hibernate配置文件的2种方式 1.configuration.configure() 要求1.该配置文件必须放在classpath下2.名称必须为hibernate.cfg.xml 2.configuration.configure("/cn/itcast/config/hibernate.cfg.xml") 自定义配置文件的名称和路径

Spring加载Properties配置文件的三种方式

一.通过 context:property-placeholder 标签实现配置文件加载 1) 用法: 1.在spring.xml配置文件中添加标签 <context:property-placeholder ignore-unresolvable="true" location="classpath:redis-key.properties"/> 2.在 spring.xml 中使用 配置文件属性:$ <!-- 基本属性 url.user.pas

Spring读取外部的资源配置文件—@PropertySource和@Value实现资源文件配置

通过@PropertySource可以指定读取的配置文件,通过@Value注解获取值: @PropertySource注解主要是让Spring的Environment接口读取属性配置文件用的,标识在@Configuration配置类上:@Value注解可以用在字段和方法上,通常用于从属性配置文件中读取属性值,也可以设置默认值. 具体用法: @PropertySource(value = { "classpath:config.properties" }, ignoreResourceN

【SSM整合】spring配置文件中读取配置文件的三种方式

目录 依赖 jdbc.properties applicationContext.xml(spring配置文件) 依赖 <!--mysql--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.46</version> </dependency> <