• 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

  • 相关阅读:
    nginx http和https共存
    jQuery prop方法替代attr方法
    idea内置tomcat中java代码热更新
    Linux磁盘空间查看、磁盘被未知资源耗尽
    Mysql order by与limit混用陷阱
    IIS 架构解析
    asp.net MVC 应用程序的生命周期
    Linq专题之var关键字
    ThoughtWorks 2016年第1期DNA活动总结
    对象的深拷贝--反射
  • 原文地址:https://www.cnblogs.com/gxh494/p/11802533.html
Copyright © 2020-2023  润新知