SpringBoot 微服务框架
-
- 2. Spring Boot 微服务框架的特点
- 3. Spring Boot 利用场景
- 4. SpringBoot 的第一个利用
- 5. Springboot 疏导类的 main 办法有什么作用?
- 6. SpringBoot 的场景启动器
- 7.@SpringBootApplication 探索
- 8. 如何配置 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 语法进行编写
对文章中内容感兴趣的小伙伴能够搜寻微信公众号:敲代码的老贾,支付相应材料