我的编程空间,编程开发者的网络收藏夹
学习永远不晚

SpringBoot如何快速搭建

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

SpringBoot如何快速搭建

这篇文章主要介绍SpringBoot如何快速搭建,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

Spring Boot 概述

Build Anything with Spring Boot:Spring Boot is the starting point for building all Spring-based applications. Spring Boot is designed to get you up and running as quickly as possible, with minimal upfront configuration of Spring.

上面是引自官网的一段话,大概是说: Spring Boot 是所有基于 Spring 开发的项目的起点。Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的配置文件。

什么是 Spring Boot
  • 它使用 “习惯优于配置” (项目中存在大量的配置,此外还内置一个习惯性的配置,让你无须)的理念让你的项目快速运行起来。

  • 它并不是什么新的框架,而是默认配置了很多框架的使用方式,就像 Maven 整合了所有的 jar 包一样,Spring Boot 整合了所有框架(引自:springboot(一):入门篇——纯洁的微笑-%E5%85%A5%E9%97%A8%E7%AF%87.html))

使用 Spring Boot 有什么好处

回顾我们之前的 SSM 项目,搭建过程还是比较繁琐的,需要:

  • 1)配置 web.xml,加载 spring 和 spring mvc

  • 2)配置数据库连接、配置日志文件

  • 3)配置家在配置文件的读取,开启注解

  • 4)配置mapper文件

  • …..

而使用 Spring Boot 来开发项目则只需要非常少的几个配置就可以搭建起来一个 Web 项目,并且利用 IDEA 可以自动生成生成,这简直是太爽了…

  • 划重点:简单、快速、方便地搭建项目;对主流开发框架的无配置集成;极大提高了开发、部署效率。


Spring Boot 快速搭建

第一步:新建项目

选择 Spring Initializr ,然后选择默认的 url 点击【Next】:

SpringBoot如何快速搭建

然后修改一下项目的信息:

SpringBoot如何快速搭建

勾选上 Web 模板:

SpringBoot如何快速搭建

选择好项目的位置,点击【Finish】:

SpringBoot如何快速搭建

如果是第一次配置 Spring Boot 的话可能需要等待一会儿 IDEA 下载相应的 依赖包,默认创建好的项目结构如下:

SpringBoot如何快速搭建

项目结构还是看上去挺清爽的,少了很多配置文件,我们来了解一下默认生成的有什么:

  • SpringbootApplication: 一个带有 main() 方法的类,用于启动应用程序

  • SpringbootApplicationTests:一个空的 Junit 测试了,它加载了一个使用 Spring Boot 字典配置功能的 Spring 应用程序上下文

  • application.properties:一个空的 properties 文件,可以根据需要添加配置属性

  • pom.xml: Maven 构建说明文件

第二步:HelloController

在【cn.wmyskxz.springboot】包下新建一个【HelloController】:

package cn.wmyskxz.springboot;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class HelloController {    @RequestMapping("/hello")    public String hello() {        return "Hello Spring Boot!";    }}
  • @RestController 注解: 该注解是 @Controller 和 @ResponseBody 注解的合体版

第三步:利用 IDEA 启动 Spring Boot

我们回到 SpringbootApplication 这个类中,然后右键点击运行:

SpringBoot如何快速搭建

  • 注意:我们之所以在上面的项目中没有手动的去配置 Tomcat 服务器,是因为 Spring Boot 内置了 Tomcat

等待一会儿就会看到下方的成功运行的提示信息:

SpringBoot如何快速搭建

可以看到我们的 Tomcat 运行在 8080 端口,我们来访问 “/hello” 地址试一下:

SpringBoot如何快速搭建

可以看到页面成功显示出我们返回的信息。


解析 Spring Boot 项目

这一部分参考自:Spring Boot干货系列(一)优雅的入门篇 ——嘟嘟独立博客

解析 pom.xml 文件

让我们来看看默认生成的 pom.xml 文件中到底有一些什么特别:

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0</modelVersion>    <groupId>cn.wmyskxz</groupId>    springboot    <version>0.0.1-SNAPSHOT</version>    <packaging>jar</packaging>    <name>springboot</name>    <description>Demo project for Spring Boot</description>    <parent>        <groupId>org.springframework.boot</groupId>        spring-boot-starter-parent        <version>2.0.1.RELEASE</version>        <relativePath/> <!-- lookup parent from repository -->    </parent>    <properties>        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>        <java.version>1.8</java.version>    </properties>    <dependencies>        <dependency>            <groupId>org.springframework.boot</groupId>            spring-boot-starter-web        </dependency>        <dependency>            <groupId>org.springframework.boot</groupId>            spring-boot-starter-test            <scope>test</scope>        </dependency>    </dependencies>    <build>        <plugins>            <plugin>                <groupId>org.springframework.boot</groupId>                spring-boot-maven-plugin            </plugin>        </plugins>    </build></project>

我们可以看到一个比较陌生一些的标签 <parent> ,这个标签是在配置 Spring Boot 的父级依赖:

<parent>    <groupId>org.springframework.boot</groupId>    spring-boot-starter-parent    <version>2.0.1.RELEASE</version>    <relativePath/> <!-- lookup parent from repository --></parent>

有了这个,当前的项目才是 Spring Boot 项目,spring-boot-starter-parent 是一个特殊的 starter ,它用来提供相关的 Maven 默认依赖,使用它之后,常用的包依赖就可以省去 version 标签。

关于具体 Spring Boot 提供了哪些 jar 包的依赖,我们可以查看本地 Maven 仓库下:\repository\org\springframework\boot\spring-boot-dependencies\2.0.1.RELEASE\spring-boot-dependencies-2.0.1.RELEASE.pom 文件来查看,挺长的…

应用入口类

Spring Boot 项目通常有一个名为 Application 的入口类,入口类里有一个 main 方法, *这个 main 方法其实就是一个标准的 Javay 应用的入口方法。

@SpringBootApplication 是 Spring Boot 的核心注解,它是一个组合注解,该注解组合了:@Configuration、@EnableAutoConfiguration、@ComponentScan; 若不是用 @SpringBootApplication 注解也可以使用这三个注解代替。

  • 其中,@EnableAutoConfiguration 让 Spring Boot 根据类路径中的 jar 包依赖为当前项目进行自动配置,例如,添加了 spring-boot-starter-web 依赖,会自动添加 Tomcat 和 Spring MVC 的依赖,那么 Spring Boot 会对 Tomcat 和 Spring MVC 进行自动配置。

  • Spring Boot 还会自动扫描 @SpringBootApplication 所在类的同级包以及下级包里的 Bean ,所以入口类建议就配置在 grounpID + arctifactID 组合的包名下(这里为 cn.wmyskxz.springboot 包)

Spring Boot 的配置文件

Spring Boot 使用一个全局的配置文件 application.properties 或 application.yml,放置在【class="lazy" data-src/main/resources】目录或者类路径的 /config 下。

Spring Boot 不仅支持常规的 properties 配置文件,还支持 yaml 语言的配置文件。yaml 是以数据为中心的语言,在配置数据的时候具有面向对象的特征。

Spring Boot 的全局配置文件的作用是对一些默认配置的配置值进行修改。

  • 简单实例一下

SpringBoot如何快速搭建

我们同样的将 Tomcat 默认端口设置为 8080 ,并将默认的访问路径从 “/” 修改为 “/hello” 时,使用 properties 文件和 yml 文件的区别如上图。

  • 注意: yml 需要在 “:” 后加一个空格,幸好 IDEA 很好地支持了 yml 文件的格式有良好的代码提示;

  • 我们可以自己配置多个属性

我们直接把 .properties 后缀的文件删掉,使用 .yml 文件来进行简单的配置,然后使用 @Value 来获取配置属性:

SpringBoot如何快速搭建

重启 Spring Boot ,输入地址:localhost:8080/hello 能看到正确的结果:

SpringBoot如何快速搭建

  • 注意: 我们并没有在 yml 文件中注明属性的类型,而是在使用的时候定义的。

你也可以在配置文件中使用当前配置:

SpringBoot如何快速搭建

仍然可以得到正确的结果:

SpringBoot如何快速搭建

  • 问题: 这样写配置文件繁琐而且可能会造成类的臃肿,因为有许许多多的 @Value 注解。

  • 封装配置信息

SpringBoot如何快速搭建

我们可以把配置信息封装成一个类,首先在我们的 name 和 age 前加一个 student 前缀,然后新建一个 StudentProperties 的类用来封装这些信息,并用上两个注解:

  • @Component:表明当前类是一个 Java Bean

  • @ConfigurationProperties(prefix = “student”):表示获取前缀为 sutdent 的配置信息

这样我们就可以在控制器中使用,重启得到正确信息:

SpringBoot如何快速搭建

Spring Boot 热部署

在目前的 Spring Boot 项目中,当发生了任何修改之后我们都需要重新启动才能够正确的得到效果,这样会略显麻烦,Spring Boot 提供了热部署的方式,当发现任何类发生了改变,就会通过 JVM 类加载的方式,加载最新的类到虚拟机中,这样就不需要重新启动也能看到修改后的效果了。

  • 做法也很简单,修改 pom.xml 即可!

我们往 pom.xml 中添加一个依赖就可以了:

<dependency>    <groupId>org.springframework.boot</groupId>    spring-boot-devtools    <optional>true</optional> <!-- 这个需要为 true 热部署才有效 --></dependency>

重新启动 Spring Boot ,然后修改任意代码,就能观察到控制台的自动重启现象:

SpringBoot如何快速搭建

关于如何在 IDEA 中配置热部署:传送门


Spring Boot 使用

上面已经完成了 Spring Boot 项目的简单搭建,我们仅仅需要进行一些简单的设置,写一个 HelloController 就能够直接运行了,不要太简单…接下来我们再深入了解一下 Spring Boot 的使用。

Spring Boot 支持 JSP

Spring Boot 的默认视图支持是 Thymeleaf 模板引擎,但是这个我们不熟悉啊,我们还是想要使用 JSP 怎么办呢?

  • 修改 pom.xml 增加对 JSP 文件的支持

<!-- servlet依赖. --><dependency>    <groupId>javax.servlet</groupId>    javax.servlet-api    <scope>provided</scope></dependency><dependency>    <groupId>javax.servlet</groupId>    jstl</dependency><!-- tomcat的支持.--><dependency>    <groupId>org.apache.tomcat.embed</groupId>    tomcat-embed-jasper    <scope>provided</scope></dependency>
  • 配置试图重定向 JSP 文件的位置

修改 application.yml 文件,将我们的 JSP 文件重定向到 /WEB-INF/views/ 目录下:

SpringBoot如何快速搭建

  • 修改 HelloController

修改 @RestController 注解为 @Controller ,然后将 hello 方法修改为:

SpringBoot如何快速搭建

  • 新建 hello.jsp 文件

在【class="lazy" data-src/main】目录下依次创建 webapp、WEB-INF、views 目录,并创建一个 hello.jsp 文件:

SpringBoot如何快速搭建

  • 刷新网页

因为我们部署了热部署功能,所以只需要等待控制台重启信息完成之后再刷新网页就可以看到正确效果了:

SpringBoot如何快速搭建

  • 关于 404,使用 spring-boot:run 运行项目可以解决:

SpringBoot如何快速搭建

集成 MyBatis
  • 修改 pom.xml 增加对 MySql和 MyBatis 的支持

<!-- mybatis --><dependency>    <groupId>org.mybatis.spring.boot</groupId>    mybatis-spring-boot-starter    <version>1.1.1</version></dependency><!-- mysql --><dependency>    <groupId>mysql</groupId>    mysql-connector-java    <version>5.1.21</version></dependency>
  • 新增数据库链接参数

这里我们就直接使用之前创建好的 student 表了吧:

SpringBoot如何快速搭建

  • 创建 Student 实体类和 StudentMapper 映射类

在【cn.wmyskxz.springboot】下新建一个【pojo】包,然后在其下创建一个 Student 类:

public class Student {    private Integer id;    private Integer student_id;    private String name;    private Integer age;    private String sex;    private Date birthday;    }

在【cn.wmyskxz.springboot】下新建一个【mapper】包,然后在其下创建一个 StudentMapper 映射类:

package cn.wmyskxz.springboot.mapper;import cn.wmyskxz.springboot.pojo.Student;import org.apache.ibatis.annotations.Mapper;import org.apache.ibatis.annotations.Select;import java.util.List;@Mapperpublic interface StudentMapper {    @Select("SELECT * FROM student")    List<Student> findAll();}
  • 编写 StudentController

在【cn.wmyskxz.springboot】下新建一个【controller】包,然后在其下创建一个 StudentController :

package cn.wmyskxz.springboot.controller;import cn.wmyskxz.springboot.mapper.StudentMapper;import cn.wmyskxz.springboot.pojo.Student;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import java.util.List;@Controllerpublic class StudentController {    @Autowired    StudentMapper studentMapper;    @RequestMapping("/listStudent")    public String listStudent(Model model) {        List<Student> students = studentMapper.findAll();        model.addAttribute("students", students);        return "listStudent";    }}

编写 listStudent.jsp 文件

我们简化一下 JSP 的文件,仅显示两个字段的数据:

<%@ page language="java" contentType="text/html; charset=UTF-8"         pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><table align='center' border='1' cellspacing='0'>    <tr>        <td>id</td>        <td>name</td>    </tr>    <c:forEach items="${students}" var="s" varStatus="st">        <tr>            <td>${s.id}</td>            <td>${s.name}</td>        </tr>    </c:forEach></table>
  • 重启服务器运行

因为往 pom.xml 中新增加了依赖的包,所以自动重启服务器没有作用,我们需要手动重启一次,然后在地址输入:localhost:8080/listStudent 查看效果:

SpringBoot如何快速搭建

以上。

springMVC和springboot的区别

Spring 框架就像一个家族,有众多衍生产品例如 boot、security、jpa等等。但他们的基础都是Spring 的 ioc和 aop ioc 提供了依赖注入的容器 aop ,解决了面向横切面的编程,然后在此两者的基础上实现了其他延伸产品的高级功能。Spring MVC是基于 Servlet 的一个 MVC 框架 主要解决 WEB 开发的问题,因为 Spring 的配置非常复杂,各种XML、 JavaConfig、hin处理起来比较繁琐。于是为了简化开发者的使用,从而创造性地推出了Spring boot,约定优于配置,简化了spring的配置流程。

说得更简便一些:Spring 最初利用“工厂模式”(DI)和“代理模式”(AOP)解耦应用组件。大家觉得挺好用,于是按照这种模式搞了一个 MVC框架(一些用Spring 解耦的组件),用开发 web 应用( SpringMVC )。然后有发现每次开发都写很多样板代码,为了简化工作流程,于是开发出了一些“懒人整合包”(starter),这套就是 Spring Boot。

Spring MVC的功能

Spring MVC提供了一种轻度耦合的方式来开发web应用。

Spring MVC是Spring的一个模块,式一个web框架。通过Dispatcher Servlet, ModelAndView 和 View Resolver,开发web应用变得很容易。解决的问题领域是网站应用程序或者服务开发——URL路由、Session、模板引擎、静态Web资源等等。

Spring Boot的功能

Spring Boot实现了自动配置,降低了项目搭建的复杂度。

众所周知Spring框架需要进行大量的配置,Spring Boot引入自动配置的概念,让项目设置变得很容易。Spring Boot本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。也就是说,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, Redis, Mail等等),Spring Boot应用中这些第三方库几乎可以零配置的开箱即用(out-of-the-box),大部分的Spring Boot应用都只需要非常少量的配置代码,开发者能够更加专注于业务逻辑。

Spring Boot只是承载者,辅助你简化项目搭建过程的。如果承载的是WEB项目,使用Spring MVC作为MVC框架,那么工作流程和你上面描述的是完全一样的,因为这部分工作是Spring MVC做的而不是Spring Boot。

对使用者来说,换用Spring Boot以后,项目初始化方法变了,配置文件变了,另外就是不需要单独安装Tomcat这类容器服务器了,maven打出jar包直接跑起来就是个网站,但你最核心的业务逻辑实现与业务流程实现没有任何变化。

所以,用最简练的语言概括就是:

Spring 是一个“引擎”;

Spring MVC 是基于Spring的一个 MVC 框架 ;

Spring Boot 是基于Spring4的条件注册的一套快速开发整合包。

以上是“SpringBoot如何快速搭建”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

SpringBoot如何快速搭建

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

SpringBoot如何快速搭建

这篇文章主要介绍SpringBoot如何快速搭建,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Spring Boot 概述Build Anything with Spring Boot:Spring Boot is
2023-06-02

如何快速搭建一个springboot项目

本篇内容主要讲解“如何快速搭建一个springboot项目”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何快速搭建一个springboot项目”吧!一、空项目现在开发过程中大都是idea这个集
2023-06-30

如何搭建SpringBoot+MyBatisPlus快速开发脚手架

本篇内容介绍了“如何搭建SpringBoot+MyBatisPlus快速开发脚手架”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!聊聊mall
2023-07-02

如何快速搭建Firekylin博客

小编给大家分享一下如何快速搭建Firekylin博客,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1).安装 Node.jscurl --silent --loc
2023-06-27

如何使用Kubeadm快速搭建Kubernetes

这篇文章主要讲解了“如何使用Kubeadm快速搭建Kubernetes”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用Kubeadm快速搭建Kubernetes”吧!##版本说明 ##
2023-06-19

如何快速搭建SVO-SLAM环境

这篇文章主要介绍“如何快速搭建SVO-SLAM环境”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何快速搭建SVO-SLAM环境”文章能帮助大家解决问题。首先,建立一个工作目录比如:workspac
2023-06-27

如何快速搭建并使用ThinkPHP5

这篇文章主要介绍“如何快速搭建并使用ThinkPHP5”,在日常操作中,相信很多人在如何快速搭建并使用ThinkPHP5问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何快速搭建并使用ThinkPHP5”的疑
2023-06-25

如何快速地搭建GitLab环境

作为一种web-based代码托管平台,GitLab已经成为了不少公司和团队的不二之选。通过GitLab,我们可以方便地管理和维护代码,以实现更加高效和协同的开发。但是,对于一些没有使用过GitLab的用户来说,可能在安装和配置方面遇到些问
2023-10-22

如何使用node快速搭建后台

这篇文章主要介绍了如何使用node快速搭建后台,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.首先安装node,express,express-generator (4.x
2023-06-22

Grafana + Prometheus如何快速搭建监控平台

小编给大家分享一下Grafana + Prometheus如何快速搭建监控平台,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!总体可视化方案Grafana:通过将采
2023-06-15

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录