SpringBoot简介、案例步骤及与Spring的对比

简介: SpringBoot简介、案例步骤及与Spring的对比

一、SpringBoot简介

SpringBoot由由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始化搭建以及开发过程。使用Spring框架后已经简化了我们的开发。而SpringBoot又是对Spring开发进行简化的,可想而知,SpringBoot使用的简单及广泛性。


以SpringMVC开发为例:


1、创建工程,并在pom.xml配置文件中配置所依赖的坐标

<dependencies>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.2.10.RELEASE</version>
        </dependency>
    </dependencies>

2、编写web3.0配置类

public class ServletContainersInitConfig extends AbstractAnnotationConfigDispatcherServletInitializer {
    protected Class<?>[] getRootConfigClasses() {
        return new Class[]{SpringConfig.class};
    }
    protected Class<?>[] getServletConfigClasses() {
        return new Class[]{SpringMvcConfig.class};
    }
    protected String[] getServletMappings() {
        return new String[]{"/"};
    }
}

3、编写SpringMVC配置类

@Configuration
@ComponentScan("com.itheima.controller")
@EnableWebMvc
public class SpringMvcConfig {
}

4、编写Controller类

@RestController
@RequestMapping("/books")
public class BookController {
    @Autowired
    private BookService bookService;
    @GetMapping("/{id}")
    public Result getById(@PathVariable Integer id) {
        Book book = bookService.getById(id);
        Integer code = book != null ? Code.GET_OK : Code.GET_ERR;
        String msg = book != null ? "" : "数据查询失败,请重试!";
        return new Result(code,book,msg);
    }
}

从上面的SpringMVC程序开发可以看出,前三步都是在搭建环境,而且这三部基本都是固定的。SpringBoot就是对这三部进行简化的。

二、SpringBoot入门案例

SpringBoot开发步骤如下:


● 创建新模块,选择Spring初始化,并配置模块相关基础信息

● 选择当前模块需要使用的技术集

● 开发控制器类

● 运行自动生成的Application类


创建新模块

67f0039daac24d28840ee627dd8bbe45.png

选择Spring Initializr,用来创建SpringBoot工程,在Module SDK中选择我们安装的JDK版本

a1ed8eade63f4dfb94b61ccd6a0f090a.png

3、对SpringBoot工程进行相关设置

d7cd865e3ef64cf8a92c266eb675f6cc.png

注意:打包方式这里需要设置为Jar


因为我们需要开发一个web程序,使用到了SpringMVC技术,所有勾选Spring web

49d989fcd8634757b8f71ae0b14f3ab8.png

最后不需要任何修改,直接点击Finish完成SpringBoot工程的构建。


经过以上步骤,我们自动生成了一个Application类,而该类在启动服务器的时候用到

1ae4cce8b02a4c05b4f9259c6cc7f35e.png

注意:

1、在创建的工程中不需要创建配置类

2、创建好的项目会自动生成其他一些文件,而这些文件目前对我们来说没有任何作用,所以我们可以将这些文件删除,可以删除的目录文件如下:

.mvn
.gitignore
.HELP.md
mvnw
mvnw.cmd


创建Controller类

@RestController 
@RequestMapping("/books") 
public class BookController { 
    @GetMapping("/{id}") 
    public String getById(@PathVariable Integer id){ 
        System.out.println("id ==> "+id); 
        return "hello , spring boot!"; 
    } 
}

启动服务器


运行SpringBoot工程不需要使用本地的Tomcat和插件,只允许项目com.itheima包下的Application类,我们就能在控制台看到如下信息:

93c905c21f87435c9d7db3d7fd837978.png

使用Postman工程测试程序

6031eb7f492048bfaecf56edeb1e57ca.png

通过上面的案例,可以看到使用SpringBoot进行开发,使整个开发变得很简单。

三、Spring和SpringBoot对比

Spring程序和SpringBoot程序对比

68463d4ee98a47a38a3b97e8f79cad32.png

坐标

Spring程序中坐标需要自己编写,而且坐标非常多

SpringBoot程序中的坐标是我们在创建工程时进行勾选自动生成的


web3.0配置类

Spring程序需要我们自己编写这个配置类

SpringBoot程序不需要我们自己书写


配置类

Spring/SpringMVC程序的配置类需要自己书写,而SpringBoot程序则不需要书写


注意:基于IDEA的Spring Initializr快速构建SpringBoot工程时需要联网

目录
相关文章
|
2月前
|
前端开发 Java 应用服务中间件
《深入理解Spring》 Spring Boot——约定优于配置的革命者
Spring Boot基于“约定优于配置”理念,通过自动配置、起步依赖、嵌入式容器和Actuator四大特性,简化Spring应用的开发与部署,提升效率,降低门槛,成为现代Java开发的事实标准。
|
2月前
|
前端开发 Java 微服务
《深入理解Spring》:Spring、Spring MVC与Spring Boot的深度解析
Spring Framework是Java生态的基石,提供IoC、AOP等核心功能;Spring MVC基于其构建,实现Web层MVC架构;Spring Boot则通过自动配置和内嵌服务器,极大简化了开发与部署。三者层层演进,Spring Boot并非替代,而是对前者的高效封装与增强,适用于微服务与快速开发,而深入理解Spring Framework有助于更好驾驭整体技术栈。
|
2月前
|
XML Java 应用服务中间件
【SpringBoot(一)】Spring的认知、容器功能讲解与自动装配原理的入门,带你熟悉Springboot中基本的注解使用
SpringBoot专栏开篇第一章,讲述认识SpringBoot、Bean容器功能的讲解、自动装配原理的入门,还有其他常用的Springboot注解!如果想要了解SpringBoot,那么就进来看看吧!
418 2
|
3月前
|
人工智能 Java 机器人
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API
Spring AI Alibaba集成Ollama,基于Java构建本地大模型应用,支持流式对话、knife4j接口可视化,实现高隐私、免API密钥的离线AI服务。
2525 1
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API
存储 JSON Java
522 0
|
3月前
|
人工智能 Java 开发者
【Spring】原理解析:Spring Boot 自动配置
Spring Boot通过“约定优于配置”的设计理念,自动检测项目依赖并根据这些依赖自动装配相应的Bean,从而解放开发者从繁琐的配置工作中解脱出来,专注于业务逻辑实现。
1288 0
|
4月前
|
监控 Java API
Spring Boot 3.2 结合 Spring Cloud 微服务架构实操指南 现代分布式应用系统构建实战教程
Spring Boot 3.2 + Spring Cloud 2023.0 微服务架构实践摘要 本文基于Spring Boot 3.2.5和Spring Cloud 2023.0.1最新稳定版本,演示现代微服务架构的构建过程。主要内容包括: 技术栈选择:采用Spring Cloud Netflix Eureka 4.1.0作为服务注册中心,Resilience4j 2.1.0替代Hystrix实现熔断机制,配合OpenFeign和Gateway等组件。 核心实操步骤: 搭建Eureka注册中心服务 构建商品
763 3
|
2月前
|
Java 测试技术 数据库连接
【SpringBoot(四)】还不懂文件上传?JUnit使用?本文带你了解SpringBoot的文件上传、异常处理、组件注入等知识!并且带你领悟JUnit单元测试的使用!
Spring专栏第四章,本文带你上手 SpringBoot 的文件上传、异常处理、组件注入等功能 并且为你演示Junit5的基础上手体验
870 2