Spring Boot2.0自定义配置文件使用

声明:

  1. spring boot 1.5 以后,ConfigurationProperties取消locations属性,因此采用PropertySource注解配合使用
  2. 根据Spring Boot2.0官方文档,PropertySource注解,只支持properties文件,因此排除 YAML配置
  3. 针对二,可考虑新建配置类,自行搜索,不再此次讨论范围

具体使用:

  1.根目录下新建自定义配置文件夹与properties配置文件

example.name=tom
example.wife=jerry
example.age=25
example.dream=top

  2.创建配置文件对应的实体类

@ConfigurationProperties(prefix = "example")
@PropertySource(value = "classpath:config/config-test.properties")
@Component
public class ExampleConfig {
    private String name;
    private String wife;
    private String age;
    private String dream;

    get ... set
}

  3.注入,直接调用

    // 自定义配置文件对应配置类 注入
    @Autowired
    private ExampleConfig exampleConfig;
    @RequestMapping(value = "/hello",method = RequestMethod.GET)
    @ResponseBody
    public String sayHello(){
        return exampleConfig.getName() + "的老婆是"
                + exampleConfig.getWife() + ", 年龄" + exampleConfig.getAge()
                + "岁,梦想是" + exampleConfig.getDream();
    }

知识储备:

ConfigurationProperties源码:

@Target({ ElementType.TYPE, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ConfigurationProperties {

    /**
     * The name prefix of the properties that are valid to bind to this object. Synonym
     * for {@link #prefix()}.
     * @return the name prefix of the properties to bind
     */
    @AliasFor("prefix")
    String value() default "";

    /**
     * The name prefix of the properties that are valid to bind to this object. Synonym
     * for {@link #value()}.
     * @return the name prefix of the properties to bind
     */
    @AliasFor("value")
    String prefix() default "";

    boolean ignoreInvalidFields() default false;

    boolean ignoreUnknownFields() default true;

}

原文地址:https://www.cnblogs.com/nyatom/p/9072902.html

时间: 2024-11-05 19:39:49

Spring Boot2.0自定义配置文件使用的相关文章

Spring Boot2.0之 监控管理

Spring boot监控中心: 针对微服务的服务状态,服务器的内存变化(内存.线程.日志管理等)检测服务配置连接地址是否有用(有些懒加载的情况下,用的时候发现卧槽不能用)模拟访问,懒加载.统计有多少个bean(Spring 容器中的bean).统计Spring MVC 中@RequestMapping(统计接口数) Actuator监控应用(无界面,返回json格式) AdminUi底层使用Actuator监控应用,实现可视化界面 Actuator是spring boot的一个附加功能,可帮助

Spring Boot2.0之注解方式启动Springmvc

回顾下springmvc原理图: DispatcherServlet是Spring MVC的核心,每当应用接受一个HTTP请求,由DispatcherServlet负责将请求分发给应用的其他组件. 在旧版本中,DispatcherServlet之类的servlet一般在web.xml文件中配置,该文件一般会打包进最后的war包种:但是Spring 3引入了注解,我将要介绍,如何基于注解配置Spring MVC. 1.Spring mvc无配置文件夹,采用注解方式启动. 把配置的内容 转换为 Ja

Spring Boot2.0之纯手写框架

框架部分重点在于实现原理,懂原理! 废话不多说,动手干起来! SpringMVC程序入口? 没有配置文件,Spring 容器是如何加载? 回顾我们之前搭建Spring Boot项目使用的pom 引入的依赖需要parent,其作用是支持依赖 快速整合框架 不需要写版本号 还有就是web组件,自动引入springmvc spring-web spring-beans  等等都依赖进来了 SpringBoot是一个快速整合第三方框架,简化XML配置,完全采用注解.内置HTTP服务器(tomcat.je

spring boot2.0+ 中配置log4j日志

1.maven引入包,排除默认日志 1 <dependency> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-starter</artifactId> 4 <exclusions> 5 <exclusion> 6 <groupId>org.springframework.boot</groupId>

Myeclipse下使用Maven搭建spring boot2.0项目

现在需要搭建spring boot框架,并实现一个HelloWorld的项目,让程序真正运行起来. 一.在pom.xml中引入spring-boot-start-parent,spring官方的叫stater poms,它可以提供dependency management,也就是依赖管理,引入以后在声明其它dependency的时候就不需要version了. <parent> <groupId>org.springframework.boot</groupId> <

Spring boot2.0 与 2.0以前版本 跨域配置的区别

一·简介 spring boot升级到2.0后发现继承WebMvcConfigurerAdapter实现跨域过时了,那我们就紧随潮流. 二·全局配置 2.0以前 支持跨域请求代码: 1 import org.springframework.context.annotation.Configuration; 2 import org.springframework.web.servlet.config.annotation.CorsRegistry; 3 import org.springfram

Spring Boot2.0之 原理—创建内置Tomcat容器

前面所述的https://www.cnblogs.com/toov5/p/9823728.html 中的第一条先不赘述了,就是玩了maven 重点介绍后两条 首先内置Tomcat: SpringBoot中内置tomcat服务器 Java操作创建tomcat 我们点击pom中的 持续点击到 继续点击会发现: 这个依赖 为我所需~ 注意:Springboot2.0之后 Tomcat8.0以上版本 引入到自己的pom中(类似的还有其他的依赖包): <project xmlns="http://m

Spring boot2.0整合Mybatis

整合Mybatis过程: MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录. 一.引入依赖 <!-- 添加mybatis依赖 --> <dependency> <groupI

Spring Boot2.0之 jar打包方式

Jar类型打包方式 1.使用mvn celan  package 打包 2.使用java –jar 包名 war类型打包方式 1.使用mvn celan package 打包 2.使用java –jar 包名 外部Tomcat运行 1.使用mvn celan package 打包 2.2.0将war包 放入到tomcat webapps下运行即可. 注意:springboot2.0内置tomcat8.5.25,建议使用外部Tomcat9.0版本运行即可,否则报错版本不兼容. PS: 打war类型