zoukankan      html  css  js  c++  java
  • spring读取配置文件的几种方式

    场景

    假如有以下属性文件dev.properties, 需要注入下面的tag

    tag=123

    通过PropertyPlaceholderConfigurer

    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location" value="dev.properties" />
    </bean>
    代码

    @Value("${tag}")
    private String tag;
    通过PreferencesPlaceholderConfigurer

    <bean id="appConfig" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
    <property name="location" value="dev.properties" />
    </bean>
    代码:

    @Value("${tag}")
    private String tag;
    通过PropertiesFactoryBean

    <bean id="config" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
    <property name="location" value="dev.properties" />
    </bean>
    1
    2
    3
    1
    2
    3
    代码:

    @Value("#{config['tag']}")
    private String tag;
    通过util:properties

    效果同PropertiesFactoryBean一样

    代码:

    @Value("#{config['tag']}")
    private String tag;
    其他方式

    有时也可以不通过文件,直接写字面量

    <bean id="appConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <!--<property name="location" value="classpath:${env}.properties" />-->
    <property name="properties">
    <props>
    <prop key="tag">123</prop>
    </props>
    </property>
    </bean>
    代码:

    @Value("${tag}")
    private String tag;

  • 相关阅读:
    Centos7 安装rabbitmq详细教程
    Spring Boot中的@Configuration和@Bean
    springboot+redis项目实战完整篇
    rabbitmq、kafka、activemq、rocketmq之间对比,区别
    MySQL基础总结
    MySQL视图
    MySQL左外链接与右外连接
    MySQL自连接
    MySQL关联查询
    MySQLhaving子句
  • 原文地址:https://www.cnblogs.com/panxuejun/p/6411116.html
Copyright © 2011-2022 走看看