文章目录
Spring Boot 简介
什么是Spring Boot
Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。Spring Boot 默认配置了很多框架的使用方式,就像Maven整合了所有的Jar包,Spring Boot 整合了所有的框架。它的核心设计思想是:约定优于配置,Spring Boot 所有开发细节都是依据此思想进行实现的。
Spring Boot 的优势
其实就是简单、快速、方便!平时我们需要搭建一个Spring Web 项目的时候需要怎么做呢?
- 配置 web.xml,加载Spring 和 Spring mvc
- 配置数据库连接、配置 Spring 事务
- 配置加载配置文件的读取,开启注解
- 配置日志文件
- 配置完成之后部署 Tomcat 调试
如何使用 创建一个Spring Boot 呢?
很简单,我仅仅只需要非常少的几个配置就可以迅速方便的搭建起来多一套Web项目或者是构建一个微服务!
使用 Spring Boot 开发项目,有以下几方面优势:
- Spring Boot 使开发变得简单,提供了丰富的解决方案,快速集成各种解决方案提升开发效率。
- Spring Boot 使配置变得简单,提供了丰富的Starters,集成主流开源产品往往只需要简单的配置即可。
- Spring Boot 使部署变得简单,其本身内嵌启动容器,仅仅需要一个命令即可启动项目,结合Jenkins、Docker 自动化运维非常容易实现。
- Spring Boot 使监控变得简单,自带监控组件,使用 Actuator 轻松监控服务各项状态。
Spring Boot 快速上手
构建项目
我们有几种方式来构建 Spring Boot 项目基础框架,第一种是使用 Spring 官方提供的构建页面;第二种是使用 IntelliJ IDEA 中的 Spring 插件来创建。
使用Spring 官方提供页面构建
- 访问
http://start.spring.io/
- 选择构建工具 Maven Project、java、Spring Boot 版本3.3.3、Spring Web 依赖以及一些工程基本信息,可参考下图所示:
- 点击 Generate - Ctrl + 下载项目压缩包
- 解压后,使用 IDEA 导入项目,File -> New -> Model from Existing Source… -> 选择解压后的文件夹 -> OK,选择 Maven 一路 Next,OK done!
- 如果使用的是 Eclipse,Import -> Existing Maven Projects -> Next -> 选择解压后的文件夹 -> Finsh, OK done!
idea创建
(1)新建模块,选择Spring Initializer,一定要记得选择SpringBoot的版本为3.3.3
这样就创建了一个SpringBoot框架。
(2)pom.xml的配置
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.3.3</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>crm</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>crm</name>
<description>crm</description>
<properties>
<java.version>21</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
(3)在com.example.crm.service包下创建HelloService接口:
public interface HelloService {
String sayHolle();
}
(4)在com.example.crm.service.impl包下创建HelloServiceImpl实现类:
@Service("HelloService")
public class HelloServiceImpl implements HelloService {
@Override
public String sayHolle() {
return "Hello Word!";
}
}
(5)在com.bdqn.hello.controller包下创建HelloController
@RestController
public class HelloController {
@Autowired
private HelloService helloService;
@RequestMapping("/hello")
public String hello(){
return helloService.sayHolle();
}
}
(6)运行访问
启动成功后,打开浏览器输入网址:http://localhost:8080/hello,就可以看到以下内容了:
(7)单元测试
@SpringBootTest
public class HelloServiceTester {
@Resource
private HelloService helloService;
@Test
public void testSayHello(){
String mgs = helloService.sayHolle();
System.out.println("mgs:"+mgs);
}
}
(8)运行结果
自动配置工作原理
1.@SpringBootApplication注解启动类
@SpringBootApplication
public class HelloApplication {
public static void main(String[] args) {
SpringApplication.run(HelloApplication.class, args);
}
}
2.@EnableAutoConfiguration注解开启自动配置
它主要通过@Import注解导入了AutoConfigurationImportSelector类。
@Import({AutoConfigurationImportSelector.class})
public @interface EnableAutoConfiguration
Spring Boot 的配置
全局配置文件
Spring Boot 全局配置文件:1.application.properties。2.application.yml配置文件。两个文件作用:可以覆盖Spring Boot 自动配置的默认值。
1.application.properties
server.port=8090
server.servlet.context-path=/demo
spring.application.name=crm
将服务器端口号修改为8090,并且指定项目上下文路径为/demo。配置后访问结果如下:
2.application.yml
我们在resources目录下创建application.yml,将刚刚application.properties文件配置的信息再配置一次,并修改为不同的值。如下:
server:
port: 8081
servlet:
context-path: /test
将application.properties文件中的配置注释,再运行访问,得到访问结果如下: