使用Spring注入Properies文件方法:

1、src中新建一个settings.properties文件,内容如下:

  1. db_driverClassName=com.mysql.jdbc.Driver
  2. db_url=jdbc:mysql://127.0.0.1/test
  3. db_username=root
  4. db_password=root
  5.  
  6. test_userName=Robin
  7. test_age=

2、在spring的applicationContext.xml中加入这段:

  1. <bean id="configProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
  2. <property name="locations">
  3. <list>
  4. <value>classpath*:settings.properties</value>
  5. </list>
  6. </property>
  7. </bean>
  8. <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  9. <property name="ignoreResourceNotFound" value="false" />
  10. <property name="properties" ref="configProperties" />
  11. </bean>

之后的spring的xml配置中可以直接这样使用了:

  1. <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  2. <property name="driverClassName" value="${db_driverClassName}"/>
  3. <property name="url" value="${db_url}" />
  4. <property name="username" value="${db_username}" />
  5. <property name="password" value="${db_password}" />
  6. </bean>

3、新建一个class:Settings.java

  1. package com.my.common;
  2.  
  3. import org.springframework.beans.factory.annotation.Value;
  4. import org.springframework.stereotype.Component;
  5.  
  6. @Component
  7. public class Settings {
  8. private static Settings instance;
  9. public static Settings getInstance() {
  10. return instance;
  11. }
  12. public Settings() {
  13. instance = this;
  14. }
  15.  
  16. @Value("#{configProperties['test_userName']}")
  17. private String userName;
  18. @Value("#{configProperties['test_age']}")
  19. private int age;
  20.  
  21. public String getUserName() {
  22. return userName;
  23. }
  24. public void setUserName(String userName) {
  25. this.userName = userName;
  26. }
  27. public int getAge() {
  28. return age;
  29. }
  30. public void setAge(int age) {
  31. this.age = age;
  32. }
  33. }

然后可以在代码中这样调用了:

  1. Settings.getInstance().getUserName()

[Spring] - Property注入的更多相关文章

  1. spring 属性注入

    Spring的核心技术室依赖注入,下面是依赖注入之属性注入的实现过程,牛刀小试,请看效果. 1.首先添加Spring.Web引用.本例中是使用分层思想来演示的,下面是项目的结构和UserModel类的 ...

  2. Spring 依赖注入方式详解

    平常的Java开发中,程序员在某个类中需要依赖其它类的方法. 通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理. Spring提出了依赖注入的思想,即依赖类不由 ...

  3. Spring的注入问题

    作下笔记,Spring的注入问题[多个实例问题] 解决方案如下: package student.life.support.platform.service.impl; import javax.an ...

  4. Spring依赖注入三种方式详解

    在讲解Spring依赖注入之前的准备工作: 下载包含Spring的工具jar包的压缩包 解压缩下载下来的Spring压缩包文件 解压缩之后我们会看到libs文件夹下有许多jar包,而我们只需要其中的c ...

  5. Spring依赖注入 --- 简单使用说明

    Spring依赖注入 --- 简单使用说明 本文将对spring依赖注入的使用做简单的说明,enjoy your time! 1.使用Spring提供的依赖注入 对spring依赖注入的实现方法感兴趣 ...

  6. Spring依赖注入 --- 模拟实现

    Spring依赖注入 --- 模拟实现 面向接口编程,又称面向抽象编程, 数据库如果发生更改,对应的数据访问层也应该改变多写几个实现,需要用谁的时候在service里new谁就可以了面向抽象编程的好处 ...

  7. Spring依赖注入的三种方式

    看过几篇关于Spring依赖注入的文章,自己简单总结了一下,大概有三种方式: 1.自动装配 通过配置applicationContext.xml中的标签的default-autowire属性,或者标签 ...

  8. 模拟Spring依赖注入

    通过读取xml文件,利用反射动态加载类和方法,其实就是spring的注入机制模拟,可以清晰的看出整个运行流程 1.配置文件 applicationContext.xml <beans> & ...

  9. Spring、Spring依赖注入与编码剖析Spring依赖注入的原理

    Spring依赖注入 新建PersonIDao 和PersonDao底实现Save方法: public interface PersonIDao { public void save(); } pub ...

随机推荐

  1. Cheatsheet: 2015 12.01 ~ 12.31

    Mobile Setting Up the Development Environment iOS From Scratch With Swift: How to Test an iOS Applic ...

  2. 关于token的杂记

    http://www.cnblogs.com/xiekeli/p/5607107.html https://www.oschina.net/question/1264088_220768 token作 ...

  3. Ubuntu14.04安装redis和简单配置

    1.前言 Redis是常用基于内存的Key-Value数据库,比Memcache更先进,支持多种数据结构,高效,快速.用Redis可以很轻松解决高并发的数据访问问题:做为时时监控信号处理也非常不错. ...

  4. Laravel 5 使用中的问题记录(持续更新)

    1.更新了blade模板却没有更新缓存 通过使用ftp上传文件到服务器,更新了blade模板,却没有更新缓存,经查,原因是系统时间的影响,通过ftp上传的模板文件修改时间与缓存文件的时间不一致,导致模 ...

  5. java.util.concurrent包分类结构图

    摘自:http://blog.csdn.net/tsyj810883979/article/details/6956290

  6. JSP动作标签

    动作标签是一种特殊的标签,它影响JSP运行时的功能. (1)include动作标签 <jsp:include page=”文件的名字” />           <%--   不可有 ...

  7. angularJS 报错: [ngModel:numfmt] http://errors.angularjs.org/1.4.1/ngModel/numfmt?p0=333

    <!doctype html> <html ng-app="a10086"> <head> <meta charset="utf ...

  8. c#调用c++动态链接库的问题

    1. Server Error in '/' Application. Object reference not set to an instance of an object. 这个问题是接口中的方 ...

  9. shell脚本参数

    举例说:脚本名称叫test.sh 入参三个: 1 2 3运行test.sh 1 2 3后$*为"1 2 3"(一起被引号包住)$@为"1" "2&qu ...

  10. [ie兼容]ie7浮动左在前,浮动右在后导致右边浮动的元素掉下来

    解决办法:左浮动和右浮动元素在结构上互换位置 http://blog.sina.com.cn/s/blog_818a1e5b0100wp5b.html