Spring Boot配置与注解的使用

发布于:2025-03-23 ⋅ 阅读:(19) ⋅ 点赞:(0)

一.多环境配置(开发、测试、正式)

1.使用Spring Initializr创建Spring Boot项目。 在项目中完成如下多环境配置,实现在不同的环境下加载指定的配置。

开发环境下,服务器端口号为8080,上下文路径为 /dev

测试环境下,服务器端口号为5000,上下文路径为/test

正式环境下,服务器端口号为1000,上下文路径为/prod

提交要求:假如现在要在生产环境下发布系统,如何激活生产环境下的配置文件,写出解决方案以及截图相关的配置。

第一步:新建项目

第二步:添加依赖

第三步:创建三个配置文件,分别对应不同的环境。

开发环境配置 (application-dev.properties)
server:
  port: 8080
  servlet:
      context-path: /dev
测试环境配置 (application-test.properties)
server:
  port: 5000
  servlet:
    context-path: /test
生产环境配置 (application-prod.properties)
server:
  port: 1000
  servlet:
    context-path: /prod

激活生产环境配置

application.properties文件中指定激活的生产环境配置文件:

spring.profiles.active=prod

2. 使用@Profile注解实现配置类的多环境配置

(1)创建一个组件类MyComponent,该类有一个属性name

 (2)创建三个配置类DevMyConfig、TestMyConfig、ProdMyConfig,分别模拟开发、测试、生产环境下不同的配置,通过@Profile标识配置环境。

(3)三种环境下都需要通过配置类将MyComponent组件配置到容器中。但开发环境下,MyComponent组件的name属性值为dev;测试环境下,MyComponent组件的name属性值为test;生产环境下,MyComponent组件的name属性值为prod。

(4)修改全局配置文件,激活生产环境下的配置类并在单元测试类中进行测试。

3.自定义属性的配置

在项目中完成如下自定义属性的配置:

 要求:新增student配置项,其中student包含name(姓名)、stuno(学号)、favorite(爱好)、classs(班级)四个属性,爱好可以有多个值,班级又包含classNo(班级编号)和className(班级名称)这两个属性。属性的值可自定义。

(2)新增Student类

要求:自定义属性,并完成application.yml中的student配置项和Student实体类之间属性值的绑定。

(3)编写单元测试类

要求:从容器中获取Student类实例,并打印出该实例所有属性值。

4.组件注册

在项目中的spring-web依赖中,有一个类是 org.springframework.web.util.UrlPathHelper,实现将该组件注册到容器中。