Spring Boot入门实验
一、 实验目的和要求
1、掌握使用 IDEA 通过 Maven 和 Spring Initializr 的方式创建 Spring Boot 应用程序;
2、掌握 Maven 的工作原理;
3、了解 spring-boot-starter-parent 的配置内容;
4、掌握配置场景依赖启动器 starter 的方式,了解 starter 的原理;
5、掌握利用 starter 扩展 Spring Boot 应用程序的功能;
6、掌握通过配置文件修改 Spring Boot 应用程序的初始化参数及自定义参数的 注入;
7、掌握使用 Spring Boot 编写简单的单元测试;
8、完成 Spring Boot 简单入门程序的编写。
9、独立完成实验
10、书写实验报告书
二、 实验平台
1、 JDK 1.8 或更高版本
2、 Maven 3.3+
3、 IntelliJ IDEA
三、实验内容及结果
(一)Maven 方式搭建项目
- 使用maven创建项目
- 导入依赖
<!-- 父工程 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.10</version>
</parent>
<!-- 起步依赖 -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
- 编写主程序启动类
@SpringBootApplication
public class SpringBootApp {
public static void main(String[] args) {
SpringApplication.run(SpringBootApp.class,args);
}
}
- 创建访问 Web 的 controller
@RestController
public class MyController {
@GetMapping("/hello")
public String hello(){
return "创建第一个springboot项目!";
}
}
(二)Spring Initializr 方式搭建项目
- 选择 Spring Initializr 导航创建项目
进入场景依赖页面,了解左边属于开发场景汇总部分、中间属于场景依赖 启动器部分、右边属于选中的场景依赖。本实验选择 Spring Web 依赖启动器。
- 创建 domain 层实体类 User
@Component
@ConfigurationProperties(prefix = "user")
public class User {
private String stdId;
private String userName;
private String[] hobby;
@Override
public String toString() {
return "User{" +
"stdId='" + stdId + '\'' +
", userName='" + userName + '\'' +
", hobby=" + Arrays.toString(hobby) +
'}';
}
getter,setter方法省略
}
- Application.properties文件
user.stdId=1008611
user.userName=坤哥
user.hobby=唱,跳,rap
- 创建 service 层的实体类 UserService
public class UserService {
@Autowired
private User user;
public User getUser() {
return user;
}
}
- 自定义配置类,创建 config 包的 MyConfig 类
@Configuration
public class MyConfig {
@Bean
public UserService getUserService(){
return new UserService();
}
}
- 创建 controller 层的 UserController 类
@RestController
public class UserController {
@Autowired
private UserService userService;
public User getUser(){
User user = userService.getUser();
return user;
}
@GetMapping("/h")
public String hello(){
return "hello springboot";
}
}
- 编写测试类
@SpringBootTest
public class UserControllerTest {
@Autowired
public UserController userController;
@Test
public void userController(){
User user = userController.getUser();
List<String> hobby = Arrays.asList(user.getHobby());
System.out.println("学号:"+user.getStdId());
System.out.println("姓名:"+user.getUserName());
System.out.println("爱好:"+hobby);
System.out.println(user.toString());
}
}
四、心得体会
(1)Maven 方式和 Spring Initializr 方式创建 Spring Boot 项目有什么区别?
Maven方式创建时,需要自己导入起步依赖和父项目,然后根据需要选择导入相关的依赖,在使用Spring Initializr创建项目时,会自动生成起步依赖和父项目,在选择所需依赖后,会自动导入。
(2)解释项目 pom.xml 文件主要标签的意义
1)
通过给出的父项目的group ID, artifact ID and version导入父项目
2)
通过group ID, artifact ID and version导入相关依赖
(3)如何理解依赖启动器 starter?
依赖启动器是一个聚合项目,每一个场景的依赖启动器都聚合了这个场景所需要的依赖包括了group ID, artifact ID and version,这样只需要引入场景启动器,就可以使用这个场景下的所有依赖,不需要人为管理版本号。
本文来自博客园,作者:街酒,转载请注明原文链接:https://www.cnblogs.com/sorrymine/p/17415990.html