一、Spring与SpringBoot
1. Spring能做什么
2. Spring5重大升级
3. SpringBoot
Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”.
能快速创建出生产级别的Spring应用
Spring有各种的解决方案,而将其整合是一个繁琐的过程,往往需要复杂的配置。SpringBoot是整合Spring技术栈的一站式框架,是简化Spring技术栈的快速开发脚手架。其优点为:
- 创建独立Spring应用
- 内嵌web服务器
- 自动starter依赖,简化构建配置
- 自动配置Spring以及第三方功能
- 提供生产级别的监控、健康检查及外部化配置
- 无代码生成、无需编写XML
4. 微服务
James Lewis and Martin Fowler(2014)提出微服务完整概念。
- 微服务是一种架构风格
- 一个应用拆分为一组小型服务
- 每个服务运行在自己的进程内,也就是可独立部署和升级
- 服务之间使用轻量级HTTP交互
- 服务围绕业务功能拆分
- 可以由全自动部署机制独立部署
- 去中心化,服务自治。服务可以使用不同的语言、不同的存储技术
5. 分布式
由于微服务概念的提出,将不同的服务部署到不同的服务器上,在分布式上会产生一定的困难:
- 远程调用
- 服务发现
- 负载均衡
- 服务容错
- 配置管理
- 服务监控
- 链路追踪
- 日志管理
- 任务调度
解决方案:
二、SpringBoot官方文档
三、SpringBoot快速入门
1. Maven配置
<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>
复制代码
2. 编写HelloWorld
浏览器发送
/hello
请求,响应‘Hell,SpringBoot’
2.1 创建一个Maven项目
2.2 创建POM文件
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.4.RELEASE</version>
</parent>
复制代码
2.3 添加类路径依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
复制代码
2.4 SpringBoot应用入口
/**
* 主程序类
* @SpringBootApplication:这是一个SpringBoot应用
*/
@SpringBootApplication
public class MainApplication {
public static void main(String[] args) {
SpringApplication.run(MainApplication.class, args);
}
}
复制代码
2.5 编写Controller
/**
* @Controller : 标记这是一个Controller类
* @ResponseBody : 该类的所有方法返回的数据是直接写给浏览器的,而不是跳转到某个页面
*
* @RestController : @Controller + @ResponseBody
*/
@RestController
public class HelloController {
@RequestMapping("/hello")
public String handle01() {
return "Hello, SpringBoot";
}
}
复制代码
2.6 编写配置文件
server.port=8899
复制代码
2.7 部署
添加SpringBoot提供的插件:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
复制代码
然后点击IDEA右侧的Maven选项,进行打包:
完成后打好的jar包位于:
可以通过java -jar
的命令对jar包进行使用:
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END