欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

spring boot项目属性配置

程序员文章站 2022-03-15 23:37:50
...
一 数据库典型配置
spring boot项目属性配置
二 properties配置举例
1 配置application.properties
server.port=8081
server.context-path=/girl
2 测试效果
spring boot项目属性配置
三 yml配置举例
1 配置application.yml
server:
  port: 8082
  context-path: /girl
注意冒号后面的空格
2 测试效果
spring boot项目属性配置
四 一个简单的例子
1 application.yml文件内容
server:
  port: 8080
cupSize: B
age: 18
2 HelloController的内容
package com.imooc;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
    @Value("${cupSize}")
    private String cupSize;
    @Value("${age}")
    private Integer age;
    @RequestMapping(value="/hello",method=RequestMethod.GET)
    public String say()
    {
        return cupSize+age;
    }
}
3 测试效果
spring boot项目属性配置
五 配置中嵌套配置
1 application.yml文件内容
server:
  port: 8080
cupSize: B
age: 18
content: "cupSize: ${cupSize}, age: ${age}"
2 HelloController的内容
package com.imooc;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
    @Value("${cupSize}")
    private String cupSize;
    @Value("${age}")
    private Integer age;
    @Value("${content}")
    private String content;
    @RequestMapping(value="/hello",method=RequestMethod.GET)
    public String say()
    {
        return content;
    }
}
3 测试效果
spring boot项目属性配置
六 配置属性类的应用
1 GirlProperties类
package com.imooc;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix="girl")
public class GirlProperties {
     private String cupSize;
     private Integer age;
     public String getCupSize() {
           return cupSize;
     }
     public void setCupSize(String cupSize) {
           this.cupSize = cupSize;
     }
     public Integer getAge() {
           return age;
     }
     public void setAge(Integer age) {
           this.age = age;
     }
     
}
2 application.yml文件内容
server:
  port: 8080
girl:
  cupSize: B
  age: 18
3 HelloController的内容
package com.imooc;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
    @Autowired
    private GirlProperties girlProperties;
    @RequestMapping(value="/hello",method=RequestMethod.GET)
    public String say()
    {
        return girlProperties.getCupSize();
    }
}
4 测试效果
spring boot项目属性配置
七 开发环境和生产环境不同配置问题
1 application.yml为控制开关配置文件,通过修改控制开关,决定使用开发版本的配置文件还是生产版本的配置文件
spring:
  profiles:
    active: prod
2 application-dev.yml 为开发版配置文件
server:
  port: 8080
girl:
  cupSize: B
  age: 18
3 application-prod.yml 为生产版本配置文件
server:
  port: 8081
girl:
  cupSize: F
  age: 18
4 生产环境测试效果
spring boot项目属性配置
5 通过jar的启动方式,配合不同的启动参数,决定使用什么版本
girl java -jar target/girl-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod


相关标签: 配置