【spring Boot】spring boot1.5以上版本@ConfigurationProperties取消location注解后的替代方案

前言web

===========================================spring

初步接触Spring Bootspringboot

===========================================app

资源文件中自定义属性值,配置在一个对象bean上,而后在程序中可使用bean的属性值。ide

 一。this

 

 

二。spa

@Component
标志本类为一个bean
@PropertySource(value = "classpath:/application.properties")
指定绑定哪一个资源文件,【若是要绑定自定义的资源文件中的值的话,是能够用上的】这里的application.properties文件是springboot默认的资源文件,是能够不用指定的,这里绑定的话,会去加载绑定两次。

@ConfigurationProperties(prefix = "com.sxd")
指定绑定资源文件中前缀以com.sxd开头的属性名,其余的不会绑定过来。由于这里location属性取消了,因此采用上面注解进行替代方案

 

package com.sxd.beans;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

@Component
@PropertySource(value = "classpath:/application.properties")
@ConfigurationProperties(prefix = "com.sxd")
public class ConfigBean {

    private String name;
    private String want;


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getWant() {
        return want;
    }

    public void setWant(String want) {
        this.want = want;
    }


}
View Code

 

 

三。code

@EnableConfigurationProperties(ConfigBean.class)
激活绑定的bean

@Autowired
将绑定的某个bean自动注入

 

 

package com.sxd.firstdemo;

import com.sxd.beans.ConfigBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@SpringBootApplication
@EnableConfigurationProperties(ConfigBean.class)
public class FirstdemoApplication {

    @Autowired
    ConfigBean configBean;

    @RequestMapping("/")
    public String index(){

        return "Hello Spring Boot,"+configBean.getName();
    }
    public static void main(String[] args) {
        SpringApplication.run(FirstdemoApplication.class, args);
    }
}
View Code

 

 四。对象

运行结果:blog

相关文章
相关标签/搜索