zoukankan      html  css  js  c++  java
  • @PropertySouce注解

    1.@ProtertySource

    @PropertySouce是spring3.1开始引入的基于java config的注解。

    通过@PropertySource注解将properties配置文件中的值存储到Spring的 Environment中,Environment接口提供方法去读取配置文件中的值,参数是properties文件中定义的key值。

    2. 例子

    比如有一个配置文件config.properties

    jdbc.driver = oracle.jdbc.driver.OracleDriver

    jdbc.url = jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.221.129.208)(PORT=1523))(CONNECT_DATA=(SERVICE_NAME=otatransuser)))

    jdbc.username= sassy

    jdbc.password = password

    2.1  用法1- @PropertySource和@Value

    创建java配置类

    @Configuration
    @PropertySource("classpath:jdbc.properties")
    public class PropertiesWithJavaConfig {
    
    @Value(${jdbc.driver})
    private String driver;
    @Value(${jdbc.url})
    private String url;
    @Value(${jdbc.username})
    private String username;
    @Value(${jdbc.password})
    private String password;
    //要想使用@Value 用${}占位符注入属性,这个bean是必须的,这个就是占位bean,另一种方式是不用value直接用Envirment变量直接getProperty('key')   @Bean
    public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() { return new PropertySourcesPlaceholderConfigurer(); } }

    2.2 用法2-通过Environment设置

    @Configuration
    @PropertySource("classpath:jdbc.properties")
    public class PropertiesWithJavaConfig {
    
       @Autowired
        private Environment env;
    
    }

    接着就可以用env.getProperty("jdbc.driver")得到相应的属性值

    3.等同于在xml中配置properties文件

    ?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="
          http://www.springframework.org/schema/beans
          http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
          http://www.springframework.org/schema/context
          http://www.springframework.org/schema/context/spring-context-4.2.xsd">
    
          <context:property-placeholder location="classpath:jdbc.properties" />
    
    </beans>

    在Spring 4中,Spring提供了一个新的注解——@PropertySources,从名字就可以猜测到它是为多配置文件而准备的。

    @PropertySources({

    @PropertySource("classpath:config.properties"),

    @PropertySource("classpath:db.properties")

    })

    public class AppConfig {

        //something

    }

  • 相关阅读:
    HSSFSheet XSSFWorkbook SXSSF Java读取Excel数据
    js 获取相同name元素的属性值
    jsp 页面返回、本页面刷新
    Spring MVC启动过程(1):ContextLoaderListener初始化
    eclipse中无法查看引用的jar包源码
    eclipse添加tomcat服务器
    PLsql链接oracle配置
    JDK 与TOMCAT的安装详解
    JSON笔记
    linux系统命令大全
  • 原文地址:https://www.cnblogs.com/whx7762/p/7885735.html
Copyright © 2011-2022 走看看