SpringBoot学习笔记 - 持续更新中

properties与yml配置文件

当application.propertie与application.yml同时存在时,使用application.properties作为配置文件

这里写图片描述

2. 多配置文件

  1.       可以使用多文件配置。文件名是约定俗成的。dev:开发; test:测试;online:上线。 在application.properties中使用图片中的语句激活某个配置文件。

  2.       同时,命名不是固定的,也可以:application-aa.properties; application-bb.properties; 激活文件的语句改成:
    spring.profiles.active=aa即可。

  3.       并且,当apolication.properties中存在与application-dev.properties同属性的配置时,生效激活的文件中的配置(假设这里激活了dev文件), 配置语句和激活语句的先后顺序无所谓。
          但如果application.properties中配置了激活文件中没有配置的选项,则总文件中的配置激活。
    例如:application.properties的内容:
spring.profiles.active=dev
#访问文件的路径
server.context-path=/springBoot

application-dev.properties的内容:

server.port=8080

则该项目的端口号为8080,且访问路径要加上/springBoot。

这里写图片描述

3. 自定义值

在spring的配置文件中可以自定义值。例如:

boot.name=自定义名称
boot.location=自定义地址

1. 使用@Value获取自定义值

在代码中这样使用:

@Controller
public class ConfigController{

    @Value("${boot.name}")
    private String name;

    @ResponseBody
    @RequestMapping("/hello")
    public String hello(){
        return name;
    }
}

@Value 是spring的注解。访问/hello时,会返回 自定义名称 五个字。

2. 使用@ConfigurationProperties获取自定义值

自定义值仍然是:

boot.name=自定义名称
boot.location=自定义地址

使用@ConfigurationProperties获取,将值注入到类中,再使用类。

// 这个注解表示将这个类交给Spring管理
@Component
// 这个注解表示获取自定义值,prefix是前缀。
@ConfigurationProperties(prefix="boot") 
public class ConfigTest{

    private String name;

    private String location;

    // get、set方法... 
}

然后在其他类中使用:

@Controller
public class ConfigController{

    @Autowired
    private ConfigTest configTest;

    @ResponseBody
    @RequestMapping("/config")
    public String hello(){
        return configTest.name+ "--" + configTest.location;
    }
}

访问/config时,会返回 自定义名称—自定义地址 这几个字。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值