springBoot2.3-基本介绍及入门案例
????????本次学习雷丰阳springBoot(2.3版本)。建议先修ssm
一、SpringBoot基本介绍
? ? ? ? springBoot是当今最为流行的java开发框架。
? ? ? ? 1、springBoot的底层是spring,?因此继承了spring的粘合其他框架的能力。
? ? ? ? 2、本质上还是其他框架包括spring在工作 , springBoot起到一个整合其他框架,简化开发及配置的作用。
? ? ? ? 3、springBoot高度的自动化,必定带来灵活度差的问题,所以需要在理解学习过目标框架(比如springMVC,myBatis)之后,在springBoot中做个性化的配置。
????????
????????
? ? ? ? spingBoot官网文档地址Spring Boot Reference Documentation?,?官方文档中含有入门demo简述,一切用法。??
? ? ? ? 出新版本,可以借助官方文档自学
? ? ? ? //?springBoot版本迭代更新超快,需要随时关注大的版本变化
? ? ? ? //例如2.3升级到2.4,需要关注。?大的版本迭代
? ? ? ? //例如2.x升级到3.x?需要重点关注
二、SpringBoot的优点
- Create stand-alone Spring applications
-
- 创建独立Spring应用
- Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files)
-
- 内嵌web服务器
- //内置了Tomcat方便使用
- Provide opinionated 'starter' dependencies to simplify your build configuration
-
- 自动starter依赖,简化构建配置?
- //springBoot的重要优点之一 ,?我们选择了?webStart(网站开发场景)之后,它自动帮我们配置好?jar包,?并保证各个包的版本是可以协作的,省去了我们自己去一个个找jar包的烦恼。
- Automatically configure Spring and 3rd party libraries whenever possible
-
- 自动配置Spring以及第三方功能
- //例如web开发,springBoot可以自动帮配置好?ssm?的三个配置文件,以及自动整合,还有配置web开发常用的功能
- Provide production-ready features such as metrics, health checks, and externalized configuration
-
- 提供生产级别的监控、健康检查及外部化配置
- //方便的运维管理
- Absolutely no code generation and no requirement for XML configuration
-
- 无代码生成、无需编写XML
????????????????spring5引入了响应式编程技术栈?reacticve stack?
三、时代背景?
3.1微服务
? ? ? ? 将一个大型业务系统进行拆分,每个业务独立部署到服务器,各个业务间相互调用
3.2分布式
? ? ? ? 由于业务之间独立部署,于是整个系统就变为了一个分布式的网络拓扑。产生一下问题
分布式的困难
- 远程调用
- 服务发现
- 负载均衡
- 服务容错
- 配置管理
- 服务监控
- 链路追踪
- 日志管理
- 任务调度
- ......
? ? ? ? 分布式解决方案之一 ,?即?springBoot + springCloud
3.3云原生
四、入门案例
????????
0、系统要求
- Java 8?& 兼容java14 .
- Maven 3.3+
- idea 2019.1.2+
1、创建一个java的MAVEN工程
2、配置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>org.example</groupId>
<artifactId>springBootHello</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!--继承父工程-->
<!-- 固定写法,表示该项目使用了springBoot-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.4.RELEASE</version>
</parent>
<!--添加web场景-->
<!-- springBoot会自动管理依赖,并自动配置-->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
3、创建主程序(固定写法,springBoot从这里启动,相当于java中的main()方法)
// 声明Spring Boot应用的主类,springBoot从这里启动
@SpringBootApplication
public class MainApplication {
public static void main(String[] args) {
// 启动Spring Boot应用
SpringApplication.run(MainApplication.class, args);
}
}
4、编写业务 (默认配置的spring只会scan主程序所在的包下的注解)
@RestController
// @RestController封装了@Controller和@ResponseBody(代表直接返回给浏览器,而不是要跳转页面)两个注解
public class HelloController {
@RequestMapping(value = "/hello")
public String hello() {
return "Hello, World!"; // 返回给前端的数据
}
}
5、测试
?直接运行main方法,访问 localhost:8080/hello
五、简化配置
? ? ? ? 在resource包下, 新建application.properties (不要写错)
? ? ? ? 该文件可以配置你项目中的所有框架使用的配置信息,具体可在官方文档查看
????????Common Application Properties
? ? ? ? 配置? server.port=8888? //即配tomcat的端口号
????????
六、简化部署 ? ? ??
? ? ? ? 在pom.xml中配置这个插件,
即可以在打包时帮我们封装好各种jar,tomcat?的jar包(也叫fat jars).
可以拷贝到服务器,使用cmd? 执行这个jar包即可。(即项目发布)
注意点:
- 取消掉cmd的快速编辑模式
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
?
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!