SpringBoot框架概述
1. Spring Boot概述
SpringBoot是基于Spring的,换句话就是Spring中有的功能,在SpringBoot中都能实现。
SpringBoot就是简化了Spring的开发。
微服务与单体架构的区别
- 单体架构所有的模块全都耦合在一块,代码量大,维护困难,微服务每个模块就相当于一个单独的项目,代码量明显减少,遇到问题也相对来说比较好解决。
- 单体架构所有的模块都共用一个数据库,存储方式比较单一,微服务每个模块都可以使用不同的存储方式(比如有的用redis,有的用mysql等),数据库也是单个模块对应自己的数据库。
- 单体架构所有的模块开发所使用的技术一样,微服务每个模块都可以使用不同的开发技术,开发模式更灵活。
2. Spring Boot 框架的特点
- SpringBoot就是简化了Spring的开发
- 嵌入的Tomcat,无需部署WAR文件,使部署变得简单
- 简化Maven配置 ,提供了多种场景启动器,使配置变得简单
- 自动配置Spring ,提供了默认配置,使配置变得简单
- 提供生产就绪型功能,如指标,健康检查和外部配置 ,使监控变简单
3. Spring Boot 应用场景
- Spring能够应用的场景
- javaWeb应用
- 微服务
4. SpringBoot的第一个应用
需求:在浏览器端发送一个hello请求,服务器响应回浏览器一个字符串Hello World
- 在Idea中创建Maven工程
- 导入SpringBoot相关依赖
- 编写主程序启动SpringBoot应用,编写SpringBoot的引导类
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//这个类就是SpringBoot的引导类
@SpringBootApplication
public class SpringBootApplicationMain {
public static void main(String[] args) {
//固定的写法
SpringApplication.run(SpringBootApplicationMain.class,args);
}
}
- 编写controller,运行main方法
@Controller
public class HelloController {
@RequestMapping("/hello")
@ResponseBody
public String hello(){
return "Hello World";
}
}
与Spring开发的不同
- 没有配置 配置文件
- 没有部署tomcat
- 没有大量的Maven依赖
5. Springboot引导类的main方法有什么作用?
SpringBoot启动时通过main方法启动,主要做两方面工作:
1.初始化Spring容器
2.启动tomcat运行项目
SpringBoot在生产环境的部署
- 导入一个打包jar包的插件,将项目打包成jar包
可将项目打包成可执行的jar包,简化了SpringBoot的应用部署,先导入如下插件:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
</plugin>
</plugins>
</build>
- 直接运行这个jar包
6. SpringBoot的场景启动器
什么是场景启动器?有什么作用?
spring-boot-starter
作用:Spring Boot的核心启动器,包含了自动配置、日志和YAML
查看parent的starter
SpringBoot读取resources下的也就是类路径下的application开头的三种配置文件。
parent的stater继承于dependencies
这里包含了Spring的依赖,还包含了很多框架及工具的依赖,这些依赖都已经定义好了版本,版本是由SpringBoot的版本来决定的,这些依赖的版本一定是兼容的。
查看web的starter
-
tomcat的启动器
-
spring-web和spring-mvc的依赖
7.@SpringBootApplication探究
@SpringBootApplication注解的作用:
@SpringBootApplication是SpringBoot的主配置类,由该注解配置的类,Springboot 就会运行main方法启动SpringBoot应用
@SpringBootApplication注解是一个组合注解,由三个主要的注解组成
- @SpringBootConfiguration注解
包含了@Configuration注解 修饰的类是一个配置类
引导类本身就是一个配置类
@SpringBootApplication
public class SpringBootApplicationMain {
public static void main(String[] args) {
//初始化Spring的IOC容器
ApplicationContext context =SpringApplication.run(SpringBootApplicationMain.class,args);
Person person = (Person)context.getBean(Person.class);
System.out.println(person);
}
@Bean
public Person getPerson(){
return new Person();
}
或者单独卸载一个类中
//定义成配置类
//Spring容器在初始化时,自动执行配置类中所有@Bean修饰的方法
//将这些方法返回的对象,注册在IOC容器中
@Configuration
public class MyConfig {
@Bean("person")
public Person getPerson(){
return new Person();
}
}
- @ComponentScan注解 :扫描当前类(引导类)所在的包及子包下的含有@Component注解的类,注册为Bean,相当于以前在Spring配置文件中配置的ComponentScanner这个bean
在第一个应用中的HelloController类一定要在引导类的包中或其子包中 - @EnableAutoConfiguration注解:开启Springboot的自动配置功能,加载各个场景启动中的自动配置类,将配置类中的bean注册在容器中
可以通过properties或yml配置文件来修改 容器中bean的属性,以达到修改默认配置的目的
8.如何配置SpringBoot的配置文件?
SpringBoot配置文件的作用:
修改Spring Boot自动配置的默认值
SpringBoot 配置文件分为两种:
-
application.properties配置
-
application.yml配置
使用特定的YML语法进行编写
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhihgbif
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
excel下划线不显示怎么办
PHP中文网 06-23 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel图片置于文字下方的方法
PHP中文网 06-27 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22