SpringBoot2学习笔记
一、SpringBoot2基础入门
1.1)SpringBoot 简介
背景:J2EE开发笨重、配置繁多、开发效率低下、部署流程复杂、第三方技术集成难度大;
简介:SpringBoot是简化Spring应用开发的一个框架:【约定大于配置,去繁从简,just run就能创建一个独立的,产品级别的应用】就是整个Spring技术栈的一个大整合,能快速创建出生产级别的Spring应用;
Spring Boot ——》 J2EE一站式解决方案;
Spring Cloud ——》 分布式整体解决方案
优点:
Create stand-alone Spring applications
创建独立Spring应用
Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files)
内嵌web服务器
Provide opinionated 'starter' dependencies to simplify your build configuration
自动starter依赖,简化构建配置
Automatically configure Spring and 3rd party libraries whenever possible
自动配置Spring以及第三方功能
Provide production-ready features such as metrics, health checks, and externalized configuration
提供生产级别的监控、健康检查及外部化配置
Absolutely no code generation and no requirement for XML configuration
无代码生成、无需编写XML
缺点:
-
人称版本帝,迭代快,需要时刻关注变化
-
封装太深,内部原理复杂,不容易精通
1.2)微服务简介
单体应用:ALL IN ONE
微服务:架构风格(服务微化),一个应用应该是一组小型服务;可以通过HTTP的方式进行互通;每一个功能元素最终都是一个可独立替换和独立升级的软件单元;详细参照微服务文档
总结:
微服务是一种架构风格
一个应用拆分为一组小型服务
每个服务运行在自己的进程内,也就是可独立部署和升级
服务之间使用轻量级HTTP交互
服务围绕业务功能拆分
可以由全自动部署机制独立部署
去中心化,服务自治。服务可以使用不同的语言、不同的存储技术
1.3)SpringBoot 官方文档
文档地址:Spring Boot
文档内容如下:
查看版本新特性:
跳转到:https://github.com/spring-projects/spring-boot/wiki#release-notes
点击相应的版本链接即可知道该版本的升级内容
1.4)HelloWorld示例工程
1.4.1)maven设置
修改本地maven配置文件settings.xml,添加如下代码:
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
</profiles>
1.4.2)创建maven工程
创建Maven工程SpringBootDemo1,并引入依赖,修改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>com.study</groupId>
<artifactId>SpringBootDemo1</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.4.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
1.4.3)创建主程序
在工程中新建主程序启动类MainApplication.java,代码如下:
/**
* 主程序类
* @SpringBootApplication:这是一个SpringBoot应用
*/
@SpringBootApplication
public class MainApplication {
public static void main(String[] args) {
SpringApplication.run(MainApplication.class, args);
}
}
1.4.4)添加配置文件
新建application.properties,代码如下:
server.port=8888
1.4.5)编写业务代码
在工程中新建主程序启动类HelloController.java,代码如下:
@RestController
public class HelloController {
@RequestMapping("/hello")
public String handle01() {
return "Hello, Spring Boot 2!";
}
}
1.4.6)测试
直接运行启动类MainApplication.java中的main方法,在浏览器访问:http://localhost:8888/hello,页面如下: