Springboot与springcloud
它简化了搭建Spring项目,自动配置Spring,简化maven配置,自带tomcat无需部署war包,创建独立的spring引用程序main方法运行;
2、Spring Boot优缺点
优点:减少搭建、开发、测试等时间,开发中无需重启Tomcat,maven的依赖管理更易使用;
缺点:不易了解其演变过程与原理;
3、配置文件类型与格式
springboot默认读取配置文件为application.properties或者是application.yml
app.user.name = javastack
或者
app:
user:
name: javastack
4、常用starter(启动器)有哪些?
spring-boot-starter-web (嵌入tomcat和web开发需要servlet与jsp支持)
spring-boot-starter-data-jpa (数据库支持)
spring-boot-starter-data-redis (redis数据库支持)
spring-boot-starter-data-solr (solr搜索应用框架支持)
mybatis-spring-boot-starter (第三方的mybatis集成starter)
5、注解含义
@SpringBootApplication 相当于以下3个注解
@SpringBootConfiguration:组合了 @Configuration 注解,实现配置文件的功能。
@EnableAutoConfiguration:打开自动配置的功能,也可以关闭某个自动配置的选项,如关闭数据源自动配置功能: @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class })。
@ComponentScan:Spring组件扫描。
6、自动配置原理
@SpringBootApplication或者@EnableAutoConfiguration会自动去maven中读取每个starter中的spring.factories文件 该文件里配置了所有需要被创建spring容器中的bean。
7、修改后自动重启
添加开发者工具
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
8、JavaConfig
1、Spring cloud
Spring Cloud 基于 Spring Boot,简化了分布式系统的开发,集成了服务发现、配置管理、消息总线、负载均衡、断路器、数据监控等各种服务治理能力。
sleuth提供了全链路追踪能力,
Netflix套件提供了hystrix熔断器、
zuul网关等众多的治理组件。
config 组件提供了动态配置能力,
bus组件支持使用 RabbitMQ、Kafka、ActiveMQ 等消息队列,实现分布式服务之间的事件通信。