一、Spring和SpringBoot
Spring
Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。
Spring是如何简化Java开发的呢——
为了降低Java开发的复杂性,Spring采用了以下4种关键策略:
- 基于POJO的轻量级和最小侵入性编程,所有东西都是bean;
- 通过IOC,依赖注入(DI)和面向接口实现松耦合;
- 基于切面(AOP)和惯例进行声明式编程;
通过切面和模版减少样式代码,RedisTemplate,xxxTemplate;
SpringBoot
SpringBoot是**用于快速、敏捷地开发新一代基于 Spring 框架的应用程序**
SpringBoot以约定大于配置的核心思想,默认帮我们进行了很多设置,多数SpringBoot应用只需要很少的Spring配置。同时它集成了大量常用的第三方库配置(例如 Redis、MongoDB、Jpa、RabbitMQ、Quartz 等等),SpringBoot应用中这些第三方库几乎可以零配置的开箱即用。
- 简单来说就是SpringBoot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,SpringBoot整合了所有的框架。
- SpringBoot出生名门,从一开始就站在一个比较高的起点,又经过这几年的发展,生态足够完善,SpringBoot已经当之无愧成为Java领域最热门的技术。
二、SpringBoot入门
系统环境
具体系统配置请参考官方文档
Maven配置
```xmlnexus-aliyun central Nexus aliyun http://maven.aliyun.com/nexus/content/groups/public
<a name="9Hr0h"></a>
### 创建Maven项目
![image.png](https://cdn.nlark.com/yuque/0/2021/png/1695828/1613462831094-95f9f0f2-db76-4840-bed0-2d9e472d8a78.png#align=left&display=inline&height=889&margin=%5Bobject%20Object%5D&name=image.png&originHeight=889&originWidth=1545&size=724847&status=done&style=none&width=1545)<br />![image.png](https://cdn.nlark.com/yuque/0/2021/png/1695828/1613462881089-894ef07e-e410-4682-85f7-044f8627036f.png#align=left&display=inline&height=686&margin=%5Bobject%20Object%5D&name=image.png&originHeight=686&originWidth=1030&size=98758&status=done&style=none&width=1030)<br />![image.png](https://cdn.nlark.com/yuque/0/2021/png/1695828/1613462941348-ba24b2fc-4a80-4dae-aa9a-4e56e54cadc2.png#align=left&display=inline&height=685&margin=%5Bobject%20Object%5D&name=image.png&originHeight=685&originWidth=1031&size=27960&status=done&style=none&width=1031)<br />![image.png](https://cdn.nlark.com/yuque/0/2021/png/1695828/1613462970361-f1b7d463-7f41-41cd-87bb-099d69bf40bb.png#align=left&display=inline&height=690&margin=%5Bobject%20Object%5D&name=image.png&originHeight=690&originWidth=1035&size=29931&status=done&style=none&width=1035)
<a name="JQLXg"></a>
### 导入父工程
```xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.2</version>
</parent>
导入依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
主程序类的实现
package com.comprehensive.boot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* 主程序类
* @SpringBootApplication:这是一个SpringBoot应用
*/
@SpringBootApplication
public class MainApplication {
public static void main(String[] args) {
SpringApplication.run(MainApplication.class, args);
}
}
Controller类的实现
package com.comprehensive.boot.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello_springboot() {
return "hello, SpringBoot!";
}
}
测试
三、简化
简化配置
在resources目录下创建application.properties文件
如果想修改其它配置,可参考官方文档
简化部署
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
- 直接执行jar包