SpringBoot自定义配置项

Posted itlaoqi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot自定义配置项相关的知识,希望对你有一定的参考价值。

SpringBoot自定义配置项

Spring Boot内置的配置项远远不能支撑我们的程序运行,在项目设计的时候,往往因为扩展性的需要,项目需要预留很多自定义设置项,Spring Boot允许我们配置自定义选项。


学习视频: http://www.itlaoqi.com/chapter/1685.html

源码地址: QQ群 814077650 , 群共享中自助下载

老齐的官网: itlaoqi.com (更多干货就在其中)


在 Spring Boot中,有两种方式使用自定义选项

  • @Value 单个属性注入
  • @ConfigurationProperties 类型安全加载

    第一种: @Value 单个属性注入

    创建配置config.properties

app.name=demoapp
app.version=1.0.0
app.description=demoapp description
app.page-size=20
app.show-advert=true
app.website=http://www.itlaoqi.com

启动时载入配置文件

@SpringBootApplication
//在入口类启动时加载config.properties
@PropertySource("classpath:config.properties")
public class MyspringbootApplication 

    public static void main(String[] args) 

//      SpringApplication.run(MyspringbootApplication.class, args);
        SpringApplication app = new SpringApplication(MyspringbootApplication.class);
        //关闭Banner
        app.setBannerMode(Banner.Mode.OFF);
        app.run(args);
    

@Value动态注入

@Controller
public class MyController 
    @Value("$app.name")
    private String name;
    @Value("$app.page-size")
    private Integer pageSize;
    ...

第二种: @ConfigurationProperties


@Component
//将所有app前缀的属性自动赋值给对应Bean 属性
@ConfigurationProperties(prefix="app")
public class AppConfig 
    private String name;
    private String description;
    private String version;
    private Integer pageSize;
    private Boolean showAdvert;
    private String website;

    public String getName() 
        return name;
    

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

    ...

使用时动态注入

@Controller
public class MyController 
    //动态注入IOC容器中匹配的Bean
    @Resource //相同功能可使用@Autowire
    private AppConfig appConfig;
    ...

以上是关于SpringBoot自定义配置项的主要内容,如果未能解决你的问题,请参考以下文章

助力SpringBoot自动配置的条件注解ConditionalOnXXX分析--SpringBoo

springboot2.x自定义拦截把static静态文件给拦截的坑

spring boot可以自定义properties吗

SpringBoot#自定义配置的封装

手把手教你用VUE开发后台管理系统:搭建SpringBoo 2.xt环境

Spring Bootspringboot中自定义配置项