• Spring Boot中如何读取配置呢?


    转自:

    Spring Boot中如何读取配置呢?

    下文笔者讲述Springboot读取配置的方法分享,如下所示:

    我们都知道Spring Boot中我们常使用 
       application.yml 或 properties文件放置配置文件
       我们可使用@PropertySource,@Value,@Environment, @ConfigurationProperties读取配置文件
        下文笔者将一一道来,如下所示:
    

    例:
    配置文件内容如下:

    info.username=maomao
    info.website=java265
    info.other=不想说
    

    方式1:使用@Value注解的方式读取

     
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.stereotype.Component;
    
    @Component
    public class InfoConfig1
    {
    	@Value("${info.username}")
    	private  String username;
    
    	@Value("${info.website}")
    	private String website;
    
    	@Value("${info.other}")
    	private	String other;
    
    	public	String getUserName()
    	{
    		return username;
    	}
    
    	public void setUserName(String username)
    	{
    		this.username = username;
    	}
    
    	public String getWebSite()
    	{
    		return website;
    	}
    
    	public void setWebSite(String website)
    	{
    		this.website = website;
    	}
    
    	public String getOther()
    	{
    		return other;
    	}
    
    	public void setOther(String other)
    	{
    		this.other = other;
    	}
    }
    

    @ConfigurationProperties注解读取方式

    @Component
    @ConfigurationProperties(prefix ="info")
    
    public class InfoConfig2
    { 
    	private  String username;
     
    	private String website;
     
    	private	String other;
    
    	public	String getUserName()
    	{
    		return username;
    	}
    
    	public void setUserName(String username)
    	{
    		this.username = username;
    	}
    
    	public String getWebSite()
    	{
    		return website;
    	}
    
    	public void setWebSite(String website)
    	{
    		this.website = website;
    	}
    
    	public String getOther()
    	{
    		return other;
    	}
    
    	public void setOther(String other)
    	{
    		this.other = other;
    	}
    }
    

    读取指定文件 资源目录下建立config/db-config.properties

    例:

    db.username=root
    db.password=123456
    
    @PropertySource+@Value注解读取方式
    
    ------------------------------------------------
    @Component
    @PropertySource(value={"config/db-config.properties"})
    public class DBConfig1
     {
      @Value("${db.username}")
      private String username;
      
      @Value("${db.password}")
      private String password;
      
    public String getUsername()
    {
      return username ;
    }
     
    public void setUsername(String username){
      this.username  = username;
    }
     
    public String 	getPassword(){
      return password;
     }
      
    public void setPassword(String password){
    	this.password = password;
      }
    }
    
    注意事项
     注意:@PropertySource不支持yml文件读取
    

    @PropertySource+@ConfigurationProperties注解读取方式

    @Component
    @ConfigurationProperties(prefix ="db")
    @PropertySource(value={"config/db-config.properties"})
    public class DBConfig2 { 
      private String username;
       
      private String password;
      
    public String getUsername()
    {
      return username ;
    }
     
    public void setUsername(String username){
      this.username  = username;
    }
     
    public String 	getPassword(){
      return password;
     }
      
    public void setPassword(String password){
    	this.password = password;
      }
    }
  • 相关阅读:
    C++学习——vector类的使用
    布隆过滤器(Bloom Filter)
    MySQL-日志
    RPC 原理详解
    mysql的时区问题
    树上两点之间的路径数
    经验积累①:关于设备程序的版本迭代方案详解
    Spring注解驱动之AnnotationConfigApplicationContext(二)
    丰田+比亚迪「围攻」大众,明年或将「让出」榜首之位
    Spring
  • 原文地址:https://blog.csdn.net/qq_25073223/article/details/127897437