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 方式搭建项目

  1. 使用maven创建项目
    image
  2. 导入依赖
<!-- 父工程 -->
<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>
  1. 编写主程序启动类
@SpringBootApplication
public class SpringBootApp {

    public static void main(String[] args) {
        SpringApplication.run(SpringBootApp.class,args);
    }

}

  1. 创建访问 Web 的 controller
@RestController
public class MyController {

    @GetMapping("/hello")
    public String hello(){
        return "创建第一个springboot项目!";
    }

}

(二)Spring Initializr 方式搭建项目

  1. 选择 Spring Initializr 导航创建项目

进入场景依赖页面,了解左边属于开发场景汇总部分、中间属于场景依赖 启动器部分、右边属于选中的场景依赖。本实验选择 Spring Web 依赖启动器。

  1. 创建 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方法省略
}

  1. Application.properties文件
user.stdId=1008611
user.userName=坤哥
user.hobby=唱,跳,rap

  1. 创建 service 层的实体类 UserService
public class UserService {
    @Autowired
    private User user;

    public User getUser() {
        return user;
    }

}

  1. 自定义配置类,创建 config 包的 MyConfig 类
@Configuration
public class MyConfig {

    @Bean
    public UserService getUserService(){
        return new UserService();
    }

}

  1. 创建 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";
    }

}

  1. 编写测试类
@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,这样只需要引入场景启动器,就可以使用这个场景下的所有依赖,不需要人为管理版本号。

posted @ 2023-05-19 18:10  街酒  阅读(202)  评论(0编辑  收藏  举报
Title