Spring Boot 学习
什么是微服务
简而言之,微服务架构风格是一种将单个应用程序开发为一组小服务的方法,每个小服务都运行在自己的进程中并与轻量级机制(通常是 HTTP 资源 API)进行通信。 这些服务是围绕业务能力构建的,并且可以通过全自动部署机制独立部署。 这些服务的集中管理最少,可以用不同的编程语言编写并使用不同的数据存储技术。
如何构建微服务
一个大型系统的微服务架构,就像一个复杂交织的神经网络,每一个神经元就是一个功能元素,它们各自完成自己的功能,然后通过http或者RPC相互请求调用。但这种庞大的系统架构给部署和运维带来很大的难度,于是,Spring为我们带来了构建大型分布式微服务的全套、全程产品:
- 构建一个个功能独立的微服务应用单元,可以使用springboot,可以帮我们快速构建一个应用;
- 大型分布式网络服务的调用,这部分由spring cloud来完成,实现分布式;
- 在分布式中间,进行流式数据计算、批处理,采用spring cloud data flow。
SpringBoot启动类原理解析
SpringbootApplication.java(Springboot启动类)
- @SpringbootApplication(Springboot启动类注解)
- @SpringBootConfiguration(Springboot配置类)
- @Configuration(配置类)
- @Component(加载到spring容器)
- @Configuration(配置类)
- @EnableAutoConfiguration(开启自动配置功能)
- @AutoConfigurationPackage(自动配置包信息)
- @Import({Registrar.class}):把启动类所在的包进行默认扫描,该包下的所有类都会被扫到spring容器中进行管理
- @Import({AutoConfigurationImportSelector.class}):加载指定的类到spring容器中去。自动配置导入器,根据项目来判断你的项目需要哪些配置信息然后把默认的配置内容导入到spring容器中进行管理。
- @AutoConfigurationPackage(自动配置包信息)
- @ComponentScan(组件扫描和自动装配,用来指定扫描容器的范围)
- @SpringBootConfiguration(Springboot配置类)