SpringBoot属性配置

SpringBoot属性配置

  创建Spring Boot项目时,会默认生成一个全局配置文件application.properties(可以修改后缀为.yml),在src/main/resources目录下或者类路径的/config下。

  我们可以通过修改该配置文件来对一些默认配置的配置值进行修改。

一、项目默认属性配置文件

1.修改tomcat端口号

  spring boot 开发web应用的时候,默认tomcat的启动端口为8080,如果需要修改默认的端口,则需要在application.yml添加以下记录:

server:
  port: 8888

   重启项目,启动日志可以看到:Tomcat started on port(s): 8888 (http) 启动端口为8888,

  浏览器中访问 http://localhost:8888 能正常访问。

2.修改访问路径

  spring boot 开发web应用的时候,访问路径为/,如果需要修改访问路径,则需要在application.yml添加以下记录:

server:
    port: 8888
    servlet:
        context-path: /springboot

   重启项目,启动日志就可以看到:Tomcat started on port(s): 8888 (http) with context path '/springboot',

  浏览器中访问 http://localhost:8888/springboot 能正常访问。

二、自定义属性及读取

1.在application.yml定义几个常量:

offcn_ip:
    1.1.1.1
offcn_port:
    9999

 

2.在Controller类中,使用@Value注解,读取自定义属性

@RestController
public class HelloConfigController {
    @Value("${offcn_ip}")
    private String offcn_ip;

    @Value("${offcn_port}")
    private String offcn_port;

    @GetMapping("/getValue")
    public String getValue(){
        return "ip:"+offcn_ip+"------port:"+offcn_port;
    }
}

  访问http://localhost:8888/springboot/getvalue,出现如图结果:

三、实体类属性赋值

1.定义配置文件(.yml)

userbody:
  name: 张三
  password: 123456
  birthday: 1997.08.22
  mobile: 15530499944
  address: 北京市

 

2.创建实体类

  需要在实体类上增加注解@ConfigurationProperties,并指定prrfix前缀。

@Data
@AllArgsConstructor
@NoArgsConstructor
@ConfigurationProperties(prefix = "userbody")
public class UserBody {
    private String name;
    private String password;
    private String birthday;
    private String mobile;
    private String address;

}

 

3.编写controller类。

@RestController
@EnableConfigurationProperties({UserBody.class})  //@EnableConfigurationProperties注解需要加在调用类上,或者加在启动类上也可以。
public class UserBodyController {
    @Autowired
    UserBody userBody;

    @GetMapping("/getUserBody")
    public String getUser(){
        return userBody.toString();
    }

}

 

4.在浏览器中访问。http://localhost:8888/springboot/getUserBody

 

posted @ 2019-11-06 19:39  阿怪阿  阅读(1082)  评论(0编辑  收藏  举报