什么是SpringBoot?
Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是 Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。
SpringBoot所具备的特征有:
- 可以创建独立的Spring应用程序,并且基于其Maven或Grandel插件,可以创建可执行的JARs和WARs;
- 内嵌Tomcat或Jetty等Servlet容器;
- 提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;
- 尽可能自动配置Spring容器;
- 提供准备好的特性,如指标、健康检查和外部化配置;
- 绝对没有代码生成,不需要XML配置。
总结:
使用 Spring Boot 可以非常方便、快速搭建项目,使我们不用关心框架之间的兼容性,适用版本等各种问题,我们想使用任何东西,仅仅添加一个配置就可以,所以使用 Spring Boot 非常适合构建微服务。
对比平时如果我们需要搭建一个 Spring Web 项目的时候需要怎么做呢?
1)配置 web.xml,加载 Spring 和 Spring mvc
2)配置数据库连接、配置 Spring 事务
3)配置加载配置文件的读取,开启注解
4)配置日志文件
…
5)配置完成之后部署 Tomcat 调试
…
快速入门
Maven 构建项目
1.新建项目—Spring Initializr—点击链接
2.选择构建工具 Maven Project、Java、Spring Boot 版本 2.1.6 以及一些工程基本信息,可参考下图所示:
3.点击 Generate Project 下载项目压缩包
4.在命令行窗口进入下载解压后的根目录运行:mvn spring-boot:run
5.继续在项目根目录下运行:mvn clean package
6.使用 Idea 打开项目 pom.xml文件
补充:Gradle与Maven的区别
https://blog.csdn.net/unniversky/article/details/84756115
项目结构介绍
补充:Spring Boot 中的静态资源到底要放在哪里?
https://www.cnblogs.com/lenve/p/10653003.html
另外, Spring Boot 建议的目录结果如下:
root package 结构:com.example.myproject
com
+- example
+- myproject
+- Application.java
|
+- model
| +- Customer.java
| +- CustomerRepository.java
|
+- service
| +- CustomerService.java
|
+- controller
| +- CustomerController.java
|
- Application.java 建议放到根目录下面,主要用于做一些框架配置
- model 目录主要用于实体与数据访问层(Repository)
- service 层主要是业务类代码
- controller 负责页面访问控制
引入 web 模块
1、pom.xml中添加支持web的模块:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
补充:pom.xml 文件中默认有两个模块:
- spring-boot-starter :核心模块,包括自动配置支持、日志和 YAML,如果引入了 spring-boot-starter-web web 模块可以去掉此配置,因为 spring-boot-starter-web 自动依赖了 spring-boot-starter。
- spring-boot-starter-test:测试模块,包括 JUnit、Hamcrest、Mockito。
2、编写 Controller 内容:
@RestController
@RequestMapping("/aaa")
public class HelloController {
@RequestMapping("/a1")
public String aaa(){
return "hello";
}
}
注意:路径的设置和配置
1.代码所在目录
2.在application.yml文件中设置前缀路径
3.在地址栏输入地址访问
.