首页 > 其他分享 >Spring Boot入门案例

Spring Boot入门案例

时间:2023-05-19 18:22:46浏览次数:35  
标签:依赖 入门 Spring Boot user public User

一、 实验目的和要求

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

标签:依赖,入门,Spring,Boot,user,public,User
From: https://www.cnblogs.com/sorrymine/p/17415990.html

相关文章

  • springboot~国际化Locale正确的姿势
    Java中的Locale.getDefault()获取的是操作系统的默认区域设置,如果需要获取客户端浏览器的区域设置,可以从HTTP头中获取"Accept-Language"的值来进行解析。使用说明Java网站中实现国际化(多语言支持)通常需要涉及以下几个方面:为所有可见的文本(如按钮、标签、提示等)都提供多语言......
  • 关于SpringBoot AutoConfiguration
    (1)如何导入的自动配置类首先我们得从@SpringBootApplication注解入手。@SpringBootApplicationpublicclassSpringBootDemoApplication{publicstaticvoidmain(String[]args){SpringApplication.run(SpringBootDemoApplication.class,args);......
  • UE4命令行编译工程入门
    0背景笔者是个UE4的小白,本文主要记录了一个小白是如何从零UE4的基础,一步步在命令行打出iOS的ipa包的尝试过程,本文比较浅,适合小白做为UE4工程的入门资料(UE大神可自动忽略本文);1构建流程UE4工程的构建会涉及以以下几个步骤:编译所有的源代码;将所需的内容转化(cook)为目标平台......
  • springboot开启跨域security也开启跨域配置
    springboot开启跨域security也开启跨域配置浏览器同源策略,导致跨域失败,添加了security框架后,因为安全框架有一些列的过滤器,即使springboot把跨域打开,security的过滤器也可以能拦截。所以,如果要在服务器端设置,要改两处 方法一:先开放springboot的跨域 再开启security的跨......
  • SpringBoot实现WebSocket发送接收消息 + Vue实现SocketJs接收发送消息
    SpringBoot实现WebSocket发送接收消息+Vue实现SocketJs接收发送消息参考:1、https://www.mchweb.net/index.php/dev/887.html2、https://itonline.blog.csdn.net/article/details/81221103?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2......
  • springboot 2.4 版本后的多环境配置
    beanpackagecom.example.demo.tt;importorg.springframework.beans.factory.annotation.Value;importorg.springframework.stereotype.Component;importjavax.annotation.PostConstruct;@ComponentpublicclassTT{@Value("${test.ww}")pub......
  • ④ActiveMQ 与 SpringBoot 集成——(动力节点)ActiveMQ笔记
    第四章ActiveMQ与SpringBoot集成4-1ActiveMQ与SpringBoot集成集成配置1、加载springboot的activeMQ的依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><depen......
  • SpringBoot整合knife4j(swagger)
    关于knife4jKnife4j是一个基于Swagger的Java接口文档生成工具,它提供了一套可视化的界面来展示和测试API接口。Knife4j通过解析接口代码中的Swagger注解,自动生成接口文档,并提供了交互式的API文档界面,方便开发者查看和测试接口。引用官方的一句描述Knife4j是一个集Swagger2和Open......
  • docker从入门到实践学习笔记【环境ubuntu16.04】【一】
    镜像加速国内从DockerHub拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker官方和国内很多云服务商都提供了国内加速器服务,例如: Docker官方提供的中国registrymirrorhttps://registry.docker-cn.com七牛云加速器https://reg-mirror.qiniu.com/ 我们以Docker官......
  • docker从入门到实践学习笔记【环境ubuntu16.04】【二】
     目录获取镜像 运行容器列出镜像虚悬镜像中间层镜像 删除本地镜像批量删除镜像  镜像是docker的三大组件之一。Docker运行容器前需要本地存在对应的镜像,如果本地不存在该镜像,Docker会从镜像仓库下载该镜像。 获取镜像 从Docker镜像仓库获取镜像的命令是dockerpull。......