Spring Boot简单操作

目录

一、自定义异常页面

二、单元测试

​三、多环境选择

四、读取主配置文件中的属性

五、读取List属性


一、自定义异常页面

对于404、405、500等异常状态,服务器会给出默认的异常页面,而这些异常页面一般都是英文的,且非常不友好。我们可以通过简单的方式使用自定义异常页面,并将默认状态码页面进行替换

1、定义目录

在src/main/resources目录下再定义新的目录public/error,必须是这个目录名称

2、定义异常页面

3、修改处理器模拟500错误

 

4、访问效果

二、单元测试

1、定义接口

 

2、定义Service两个实现类

注意,实现类上要添加@Service注解,以交给Spring容器来管理

3、测试

三、多环境选择

下面将实现如下功能:存在开发与生产两种环境,不同环境使用不同配置文件,不同环境调用不同接口实现类。使用不同端口号对不同的配置文件加以区分

1、定义配置文件

说明:

在Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}为对应的环境标识,例如,

  • application-dev.properties:开发环境
  • application-pro.properties:生产环境

至于哪个配置文件会被加载,则需要在application.properties文件中通过spring.profiles.active属性来设置,其值对应{profile}值。例如,spring.profiles.active=test就会加载application-test.properties配置文件内容。
在生产环境下,application.properties中一般配置通用内容,并设置spring.profiles.active属性的值为dev,即,直接指定要使用的配置文件为开发时的配置文件,而对于其它环境的选择,一般是通过命令行方式去激活。配置文件application-{profile}.properties中则配置各个环境的不同内容

2、定义业务代码

SomeService接口

SomeService实现类

SomeServiceImpl

OtherSomeServiceImpl

说明:

在实现类上添加@Profile注解,并在注解参数中指定前述配置文件中的{profile}值,用于指定该实现类所适用的环境

3、定义处理器

4、Idea下运行与访问

配置dev环境

配置pro环境

5、在命令行下选择环境

例如,现在的主配置文件中指定的是dev环境

打包

将当前工程打为Jar包后,在命令行运行时添加如下参数


此时执行的就是生产环境,调用的就是ProduceServiceImpl类。

说明:

在命令行中添加的参数可以是写在配置文件中的任意属性。其原理是命令行设置的属性值的优选级高于配置文件的

5、单配置文件实现方式

这种实现方式只能使用application.yml文件,使用application.properties文件好像文件本身就会出错

  1. spring:
  2. profiles:
  3. active:
  4. - dev
  5. ---
  6. spring:
  7. profiles: dev
  8. server:
  9. port: 8888
  10. servlet:
  11. context-path: /xxx
  12. ---
  13. spring:
  14. profiles: pro
  15. server:
  16. port: 9999
  17. servlet:
  18. context-path: /yyyy

四、读取主配置文件中的属性

1、定义配置文件

2、定义配置属性类

  1. package com.sping.boot.demo.bean;
  2. import org.springframework.boot.context.properties.ConfigurationProperties;
  3. import org.springframework.context.annotation.PropertySource;
  4. import org.springframework.stereotype.Component;
  5. @Component
  6. @PropertySource(value = "classpath:MyApp.properties",encoding = "utf-8")
  7. @ConfigurationProperties("game")
  8. public class Game {
  9. private String name;
  10. private String sex;
  11. public String getName() {
  12. return name;
  13. }
  14. public void setName(String name) {
  15. this.name = name;
  16. }
  17. public String getSex() {
  18. return sex;
  19. }
  20. public void setSex(String sex) {
  21. this.sex = sex;
  22. }
  23. }

说明:

  • @ProertySource用于指定要读取的配置文件
  • @ConfigurationProperties用于指定要读取配置文件中的对象属性,即指定要读取的配置文件属性的前辍
  • @Component表示当前从配置文件读取来的对象,由Spring容器创建
  •  要保证类的属性名要与配置文件中的对象属性名相同

3、修改SomeController类

五、读取List<String>属性

1、导入依赖

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-configuration-processor</artifactId>
  4. </dependency>

2、定义配置文件

3、定义配置属性类

4、修改SomeController类

原文地址:https://www.cnblogs.com/edda/p/13261547.html