小言_互联网的博客

SpringBoot-常用配置

290人阅读  评论(0)

自定义启动Banner

快速构建一个SpringBoot项目,启动项目来看看SpringBoot默认的启动Banner长什么样子,大多数情况下,我们其实不用关心这个东西。如果你个人或者你的开发团队觉得这样做显得太单一,想定制成一个有个性的Banner启动图案,我们可以按照如下步骤来定义:

默认启动Banner图:

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.1.9.RELEASE)

自定义Banner:
在resources目录下新建banner.txt文件
文件中可以编写任何字符,SpringBoot在启动时会将字符打印到控制台

推荐一个在线生成字符的网站:http://patorjk.com/software/taag/

${AnsiColor.BRIGHT_RED}:设置控制台中输出内容的颜色,可以自定义,具体参考
org.springframework.boot.ansi.AnsiColor

关闭Banner图案:

public static void main(String[] args) {
	SpringApplication app = new SpringApplication(DemoApplication.class);
	app.setBannerMode(Banner.Mode.OFF);
	app.run(args);
}

修改端口和默认路径

server:
  port: 8889
  servlet:
    context-path: /chapter02

多环境切换配置

在实际项目开发中,会有多套环境来支撑,例如 开发环境(dev)测试环境(test)生产环境(pro)uat环境(uat),通过spring.profiles.active属性可以非常方便的切换到不通的环境下。

  • 在resources目录下新建application-dev.yml、application-pro.yml、application-test.yml、application-uat.yml 四个环境的配置文件,这里为了演示,我们将不同环境的端口号分别修改如下:
    dev

    server:
      port: 8081
      servlet:
        context-path: /chapter02
    

    pro

    server:
      port: 8082
      servlet:
        context-path: /chapter02
    

    test

    server:
      port: 8083
      servlet:
        context-path: /chapter02
    

    uat

    server:
      port: 8084
      servlet:
        context-path: /chapter02
    
  • 在application.yml配置文件中添加配置:

    spring:
      profiles:
      	 active: pro
    
  • 切换active的值,启动项目观察端口号,如果发生变化说明配置成功。

自定义属性配置

  • 切换当前环境为:dev,在application-dev.yml中新增如下自定义属性:

    #自定义属性配置
    com:
      example:
        name: test
        mail: xxxx@outlook.com
        addr: 北京市海淀区首体南路
    
  • 创建ExampleProp类,存放于utils包下

    第一种方式:

    @Data
    @Component
    public class ExampleProp {
    
        @Value("${com.example.name}")
        private String name;
        @Value("${com.example.mail}")
        private String mail;
        @Value("${com.example.addr}")
        private String addr;
    
    }
    

    第二种方式:

    @Data
    @Component
    @ConfigurationProperties(prefix = "com.example")
    public class ExampleProp {
    
        private String name;
        private String mail;
        private String addr;
    
    }
    

    @Data: lombok简化代码用的,后面章节单独介绍,可以去掉这个注解,然后手动生成getter和setter
    @Component : 让spring在启动的时候扫描到该类,并添加到spring容器中。
    @Value("${com.example.name}") : 加载配置文件中的属性值
    @ConfigurationProperties(prefix = “com.example”) : 设置前缀,属性上不需要添加注解。

  • 创建一个Controller,来验证属性配置是否生效

    @RestController
    public class PropController {
    
        @Autowired
        ExampleProp exampleProp;
    
        @GetMapping("/getProp")
        public ExampleProp getProp(){
            return exampleProp;
        }
    
    }
    

    使用 @Autowired 注解,将我们创建好的Bean注入到Controller中,然后启动应用。
    @RestController@GetMapping("/getProp") 用来定义访问路径,后面章节再细说。
    启动项目,在浏览器访问: http://localhost:8081/chapter02/getProp

    我们可以看到exampleProp对象的属性值已经成功注入。

点击这里获取示例源码


转载:https://blog.csdn.net/qiangzi1103/article/details/102544925
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场