使用Spring Boot 构建服务
Spring Boot 是构成Spring Cloud 的基础。Spring Boot 的设计目的是用来简化Spring 应用程序的初始化搭建和开发过程,集成了众多第三方库,并大量使用约定优于配置的设计理念,使得开发人员不在需要定义繁琐而多余的配置内容。
典型的RESTful风格HTTP请求响应的开发流程
基于Spring 的开发流程
基于Spring Boot 的开发流程
Spring Boot 是编码更简单
只需要在MAVEN中添加一项依赖并实现就可以提供RESTful风格接口。
Spring Boot部署更简单
Spring Boot监控更简单
RESTful风格:最重要的一条原则就是客户端和服务器之间的交互是无状态性。
@SpringBootApplication 注解在指定的指定Bootstrap类的同时,会自动扫描@Component、@Service、@Repository、@Controller @Entity等注解,并把注解转化成Bean对象加载到Spring容器中管理起来。
通过java-jar 的命令可以直接运行Spring Boot 应用程序。
Spring Data 是spring家族中专门用于数据访问的抽象框架。
@Query注解提供类似ORM框架锁具有的强大功能。
集成Spring Data Redis
获得RedisConnection 的手段是RedisTemplateFactory 接口,对Redis操作做了封装,提供了一个RedisTemplate工具类,通过注入RedisTemplateFactory到RedisTemplate就能获得RedisConnection。
@Autowired
RedisTemplate<Object,Object> redisTemplate;
@resource(name="redisTemplate");
ValueOperations<Object,Obejct> valOps;//提供ValueOperations进行具体的数据操作。
@Document 注解表示该类是Mongoddb中的一个文档,@Filed注解声明一个字段。
Mongodb默认采用的端口是27017。
集成消息中间件
Spring框架中提供了一个RabbitTemplate工具类通过AMQP与RabbitMAQ进行交互的过程进行了封装。
@RabbitListener(queues=“x消息队列名字”)来转化消息队列的消费入口。
系统监控
Actuator是Spring Boot 提供的一种集成功能。可以实现对应用系统的运行时状态管理、配置查看以及相关功能统计。
SpringBoot的基本原理
@SpringBootApplication 由:@Configuration @EnableAutoConfiguration @ComponentScan 组成。
EnableAutoConfigurationImportSelector 是一种类选择器,负债找到需要导入的具体配置类,所依赖的组件是:SpringFactoriesLoader。
JDK中的SPI(Service Provider Interface) 服务提供者接口机制。
SPI结构图