springboot添加自定义配置文件

springboot项目使用Properties properties=new Properties() 的方式加载自定义配置文件,在编译后,自定义文件就不见了,因此需要使用另一种方式进行配置。

1、在resources目录下创建config文件夹,并创建custom.properties文件

这里写图片描述
custom.properties文件内容如下:

custom.name=ShakeSpeare
custom.age=101
2、创建CustomProperties类
package com.propertiesdemo.properties;

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

@Component
@ConfigurationProperties(prefix="custom")    // 用来指定properties配置文件中的key前缀
@PropertySource("classpath:config/custom.properties")  //配置文件所在位置
public class CustomProperties {

    private String name;

    private Integer age;

    public String getName() {
        return name;
    }

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

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "CustomProperties [name=" + name + ", age=" + age + "]";
    }
}
3、在springboot启动类添加@EnableConfigurationProperties({CustomProperties.class})注解
package com.propertiesdemo;

import org.springframework.beans.factory.annotation.CustomAutowireConfigurer;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import com.propertiesdemo.properties.CustomProperties;

@SpringBootApplication
@EnableConfigurationProperties({CustomProperties.class})
public class PropertiesdemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(PropertiesdemoApplication.class, args);
    }
}
4.、测试

编写TestController

package com.propertiesdemo.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.propertiesdemo.properties.CustomProperties;

@RestController
public class TestController {

    @Autowired
    private CustomProperties customProperties;

    @RequestMapping(value = "/test")
    public String test() {
        return customProperties.getName()+customProperties.getAge();
    }

}

浏览器访问 http://localhost:8080/test
这里写图片描述
自定义配置成功

猜你喜欢

转载自blog.csdn.net/wsjzzcbq/article/details/81909222