• 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类

  • 相关阅读:
    深入Celery之使用队列以及优先级提高响应
    Redis真的那么好用吗?
    Python中的绝对导入和相对导入
    七个可以提升python程序性能的好习惯
    log封装-python3
    通过zoopkeeper客户端查看Kafka主题实例ip(需要知道任意一个zk地址)
    python3-kafka生产者可入json数据(pykafka)
    python3-数据库插入数据(pymysql)
    unittest显示用例名称
    appium(1)-获取APPdriver封装
  • 原文地址:https://www.cnblogs.com/edda/p/13261547.html
Copyright © 2020-2023  润新知