初始Spring Boot

初识SpringBoot

1. 什么是SpringBoot

1.1 Spring Boot的概念

SpringBoot是一个框架,一种全新的编程规范,它的产生简化了框架的使用,所谓简化是指简化了Spring众多框架中所需的大量且繁琐的配置文件,所以SpringBoot是一个服务于框架的框架,服务范围是简化配置文件

Spring Boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像Maven整合了所有的Jar包,Spring Boot整合了所有的框架。

1.2 为什么要使用 Spring Boot

优点:

1.3 Spring Boot可以做什么

让文件配置变的相当简单、让应用部署变的简单(SpringBoot内置服务器Tomcat、Jetty等,并装备启动类代码),可以快速开启一个Web容器进行开发。

1.4 Spring Boot 的特点

  1. 搭建项目快,几秒钟就可以搭建完成;

  2. Spring Boot让配置变的简单,Spring Boot的核心理念:约定大约配置,约定了某种命名规范,可以不用配置,就可以完成功能开发,比如模型和表名一致就可以不用配置,直接进行CRUD(增删改查)的操作,只有表名和模型不一致的时候,配置名称即可;

  3. 内嵌容器,省去了配置Tomcat的繁琐;

  4. 让测试变的简单,内置了JUnit、Spring Boot Test等多种测试框架,方便测试;

  5. 方便监控,使用Spring Boot Actuator组件提供了应用的系统监控,可以查看应用配置的详细信息。

    1.5 SpringBoot的优点

  6. 简化配置

    1. 减少配置:Spring Boot可以对一些配置进行简略,它采用了“约定优于配置”的原则,将一些约定的最优配置封装在代码之中。只要使用Spring Boot搭建项目,这些配置就会自动完成,可以减少开发者在项目搭建时关注点,让开发者集中精力编写业务处理的代码。

    2. 优化配置:配置信息可以写入一个单独的配置文件——application.properties(yml)中

      1. 配置信息更加集中,方便对配置信息的管理。

      2. 编写方便,可以使用代码提示的方式进行配置代码的编写。

  7. 简化部署

    1. Spring Boot搭建项目有内置的Web容器。

  8. 简化监测

    1. Spring Boot可以提供项目的运行信息,比如应用的基本信息、健康度信息、运行指标、环境变量信息、线程相关信息和请求调用轨迹等。

  9. 与主流框架的无缝集成

    1. 方便与Redis、Swagger、Sorl和Elastic Search等很多主流的技术进行无缝集成,方便项目开发。

      1.6 如何使用 Spring Boot

在使用Spring Boot搭建项目之前,首先需要明确环境要求。

Spring Boot环境要求

环境版本
JDK8或11
项目构建工具Maven 3.3+或Gradle4.4+
Spring Framework5.1.6Release或更高版本
WebTomcat9+或Jetty 9.4+

步骤:

1.新建 Spring Boot项目

​ 第一步:启动开发工具IDEA,先创建project,命名为“Spring Boot”,然后创建Module。依次单机菜单栏中“

File——>New——>Module”。

 

​ 第二步:在创建Module的窗口中,选择左侧菜单中的“Spring Initializr”,选择Module SDK为JDK1.8。单击Next。

 

​ 使用Maven进行项目构建,需要根据需求设置Maven坐标,设置项目的构建方式和打包方式,设置完成后单击“Next”按钮,跳转到选择版本和组件的窗口。

 

​ 第三步:在选择版本和组件的窗口中,选择Spring Boot版本为2.1.5。选择与Web项目相关的组件,单击Next,跳转到设置项目名称和项目保存位置的窗口。

 

​ 第四步:在设置项目名称和项目保存位置的窗口中,设置项目名称和项目的存储位置,单击Finsih完成构建。

 

2.编写Java代码

​ 打开Spring Boot项目 src/main/java 目录,创建包名controller(包必须和*Application文件同级),在报下创建控制器类。

@Controller
public class SayHelloController {
    @RequestMapping("sayHello")
    @ResponseBody
    public String sayHello() {
        return "Hello Spring Boot!";
    }
}

3.启动并测试

 

2. 详解 Spring Boot项目

2.1 三个核心文件

  1. pom文件

     

    1. 父依赖spring-boot-starter-parent

      <parent>标签中的内容是父依赖,作用:

      • 限定Java的版本。

      • 限定源码的文件编码方式:默认UTF-8。

      • 管理依赖:在父依赖中设置公共依赖的版本号。

      • 打包支持:设置一些使用Maven对项目进行打包的规则。

      • 动态识别资源:识别一些特定名称的资源文件。

      • 识别插件配置

    2. 依赖spring-boot-starter-web

    3. 依赖spring-boot-start-test

      [创建项目时,选择的是加入Web组件,所以pom文件<dependencies>中第一个依赖是spring-boot-starter-web。]  

      [在不选择添加任何组件的情况下,pom文件<dependencies>中第一个依赖是spring-boot-starter]  

  2. 启动类

    1. main()方法

      1. 组合注解@SpringBootApplication

      2. @Target

      3. @Retention

      4. @Document

      5. @Inherited

      6. @SpringBootConfiguration :可代替Spring的applicationContext.xml配置文件

      7. @EnableAutoConfiguration :启动Spring Boot的自动配置

      8. @ComponentScan :扫描启动类同目录及子目录下的所有注解标注的组件

  3. application.properties文件

    1. 包含Spring Boot项目大部分的配置信息

    2. 放在项目资源路径resources的根路径下

    3. Spring Boot项目能够自动识别

    YAML使用缩进来表示层级关系,利于阅读

    大小写敏感

    使用空格缩进

    属性值前面要有空格隔开

    2.2 Spring Boot 项目启动方式

使用内置的Web容器启动

Spring Boot支持三种内置容器:Tomcat、Jetty和Undertow

默认的内置Web容器是Tomcat

修改POM文件可以替换内置的Web容器

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions> <!-- 禁用Tomcat容器 -->
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<!-- 添加与Jetty相关的依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
​

在本地Web容器中启动

  1. 通过Maven将项目打包成war文件

  2. 将war文件拷贝至本地Web容器中部署

运行使用Maven启动项目

  1. 进入项目根路径

  2. 执行 mvn spring-boot:run 命令

使用Java命令启动项目

  1. 通过Maven将项目打包成jar文件

  2. 进入jar文件所在目录

  3. 使用 java -jar 命令运行jar文件

    3. 多模块项目

    3.1 在IDEA中使用MAVEN构建多模块项目

创建父项目

  • 父项目中不需要编写任何代码,可以把src目录删除

创建子模块,通常按职责划分子模块

  • beans:存放实体类

  • common:存放工具类、枚举类等项目中的核心类

  • dao:存放数据访问层代码

  • service:存放业务层代码

  • controller:存放控制器层代码

    配置模块之间的依赖

Maven依赖有继承性和传递性

  1. 在父项目中统一管理通用的依赖,子模块继承父项目

  2. 子模块之间可以直接线性依赖

    <!-- 父项目pom文件片段 -->
    <groupId>com.bdqn</groupId>
    <artifactId>parent</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <modules>
        <module>beans</module>
        <module>common</module>
        <module>dao</module>
        ……
    </modules>
    <!-- 子模块pom文件片段 -->
    <parent>
        <artifactId>parent</artifactId>
        <groupId>com.bdqn</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    
    ​

     

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

欢乐的阿博

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值