![cover](/upload/软件架构与应用开发.jpg)
软件架构与应用开发:作业 02
软件架构与应用开发: 实验二
代码地址:Github
实验目的和要求
- 能编写Spring Boot 入门程序
- 能分析@SpringBootApplication作用及原理
- 利用两种Spring Boot配置文件格式来编写配置内容
- 能利用Spring Boot单元测试框架进行简单功能的测试
- 能分析说明Spring Boot提供的核心配置功能
- 能编写一个Spring Boot多环境配置实例
实验内容和原理
-
从零开始完成课程讲解的全过程实例的搭建
- 把主要步骤截图和文字说如下例1:
- 把主要步骤截图和文字说如下例2:
-
Spring在配置文件中支持生成一些随机数来支持日常的测试或者数据生成,形式为${random.xx},比如配置文件中:
year=${random.value} number=${random.int}
请在L02SpringBootConfig作业上修改并增加对上述功能
-
模仿L02SpringBootConfig示例做一个加载Yaml格式配置文件值的项目
主要仪器设备及工具或开发设计软件及工具名称
- 笔记本或台式机
- Eclipse+Spring开发套件 、IntelliJ IDEA、Visual Studio Code等一种开发工具
实验步骤
从零搭建过程实例
- 这里选择使用Spring Initializr创建SpringBoot项目
这里仍然选择 2.7.0 版本
这里是该项目文件的 pom.xml 文件
- 简单写了一下 application.yml
spring:
datasource:
username: root
password: root
url: jdbc:mysql://localhost:33306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8
driver-class-name: com.mysql.cj.jdbc.Driver
server:
port: 9090
- 简单配置了一个 RestController 类如下
@RestController
public class TestController {
@GetMapping("/")
public String test() {
return "Hello World";
}
}
- 实验浏览器查看结果
![image-20230312142039057]( https://owen-resource.oss-cn-hangzhou.aliyuncs.com/images/image-20230312142039057.png)
配置文件中的随机数
- 导入项目 L02SpringBootConfig
![image-20230312142452407]( https://owen-resource.oss-cn-hangzhou.aliyuncs.com/images/image-20230312142452407.png)
- 解决 IDEA 报错 “未配置 Spring Boot 配置注解处理器”,在 pom.xml 添加如下依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
- 运行内容如下
![image-20230312143220712]( https://owen-resource.oss-cn-hangzhou.aliyuncs.com/images/image-20230312143220712.png)
- 修改配置文件添加如下内容
usersetting.year=${random.value}
usersetting.number=${random.int}
- HelloZuccController 类中增加内容如下
@Value("${usersetting.year}")
String year;
@Value("${usersetting.number}")
int number;
@RequestMapping("/test")
public String test() {
return "配置文件随机生成的内容 {year = " + year + "}, {number = " + number + "}";
}
- 运行内容如下
![image-20230312143836012]( https://owen-resource.oss-cn-hangzhou.aliyuncs.com/images/image-20230312143836012.png)
做一个加载Yaml格式配置文件值的项目
- 新建项目如问题一
- 准备数据库,其中 user 表内容如下
![image-20230312145058816]( https://owen-resource.oss-cn-hangzhou.aliyuncs.com/images/image-20230312145058816.png)
- 导入 MyBatis-Plus 依赖
<!-- MyBatisPlus依赖 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.2</version>
</dependency>
- 填充一下 application.yml
spring:
datasource:
username: root
password: root
url: jdbc:mysql://localhost:33306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8
driver-class-name: com.mysql.cj.jdbc.Driver
server:
port: 9090
parameter:
randomInt: ${random.int}
randomString: ${random.value}
school: 浙大城市学院
class: 计算机 2004
- 写一个 RestController 类如下
@RestController
public class TestController {
@Resource
UserServerImpl userServer;
@Value("${parameter.randomInt}")
int randomInt;
@Value("${parameter.randomString}")
String randomString;
@Value("${parameter.school}")
String school;
@Value("${parameter.class}")
String _class;
@GetMapping("/")
public String test() {
return "randomInt = " + randomInt + "\trandomString = " + randomString + "\tschool = " + school + "\tclass = " + _class;
}
@GetMapping("/database")
public String databaseTest() {
List<UserDAO> userList = userServer.getAllUser();
return userList.toString();
}
}
- 查看结果
![image-20230312150640605]( https://owen-resource.oss-cn-hangzhou.aliyuncs.com/images/image-20230312150640605.png)
![image-20230312150651077]( https://owen-resource.oss-cn-hangzhou.aliyuncs.com/images/image-20230312150651077.png)
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Owen
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果