Spring之Property文件读取

版权声明:本文章是作者辛勤书写的成果,如需转载,请与作者联系,并保留作者信息以及原文链接,谢谢~~ https://blog.csdn.net/blueheart20/article/details/88532565

配置文件的读取

 在Spring应用中,会存在大量的配置文件设置,这些设置需要通过一个简便的方式被读取到系统中,被系统读取使用。

配置信息定义

假定把配置信息放入config.properties文件里面,其内容以键值对的方式出现,内容如下:

    key1=val1
    name=zhangsan
    password=1234

在Spring应用中,将如何读取配置信息呢?

@PropertySource和@Value

基于@PropertySource在配置类中读取配置信息,基于@Value直接提取特定键值对。示例如下:

@Configuration
@PropertySoruce("classpath:config.properties")
public class AppConfig2 {
     @Value("${key1}")
     private String key1;
     @Value("${name}")
     private String name;
     @Value("${password}")
     private String password;
}

这样就可以直接读取配置信息了。

基于@ImportSource和@Value

首先定义一个Spring的配置文件,spring-bean.xml:

<beans> 
     <context:annotation-config/> 
    <context:property-placeholder location="classpath:/com/acme/jdbc.properties"/> 
 
   <!--  在Spring配置文件中直接创建Bean-->
    <bean class="org.springframework.jdbc.datasource.DriverManagerDataSource">
            <property name="url" value="${jdbc.url}"/>
           <property name="username" value="${jdbc.username}"/> 
           <property name="password" value="${jdbc.password}"/> 
       </bean>
 </beans>

其中声明了引入jdbc的配置文件信息, 并在配置文件中直接创建了Bean.

基于ImportSource读取配置信息:

@Configuration 
@ImportResource("classpath:spring-bean.xml")
 public class AppConfig{ 
      @Value("${jdbc.url}") 
      private String url;
      
      @Value("${jdbc.username}") 
      private String username; 
      
      @Value("${jdbc.password}") 
      private String password; 
      
      @Bean 
      public DataSource dataSource() { 
           return new DriverManagerDataSource(url,username,password); 
       }
 }

其本质上是通过加载Spring的配置文件信息,然后在配置文件中加载配置信息,既可以直接在配置文件中创建对应的实例。
也可以读取出相应的配置信息之后,在Java Config Bean中进行实例对象的创建。

总结

两种方式。 @ImportSource是利用Spring 配置文件中的placeholder机制来进行配置文件的替换以及加载。相对而言,@PropertySource方式更为简洁易用。

猜你喜欢

转载自blog.csdn.net/blueheart20/article/details/88532565