本书简介
1 推荐使用@configuration @bean 的Java配置来替代xml。
2 习惯优于配置的原则。快速搭建项目
3 在第一部分,介绍了快速Spring4.x各个知识点:基础配置、常用配置、高级配置等。
4 在第二部分,介绍了Spring MVC 的各个知识点。
5 在第三部分,才是核心的介绍Spring boot。
Spring boot 核心 -各种配置
1 基本配置:入口类@SpringBootApplication。@ENableAutoConfiuration让SB 根据类路径中的jar包依赖为当前项目进行项目配置。建议入口类防止在gourpId+arctifactID组合包名下,便于SB进行扫描。
2 全局配置文件:src/main/resources/application.properties。
# 服务器端口号:
server.port=9090
#默认路径
server.context-path=/helloboot
3 引入xml配置
使用注解:@ImportResource
4 外部配置-常规属性配置
@PropertySource 指定文件位置,使用@Value引入。
5 日志配置
默认使用Logback作为日志框架
6 Profile配置
针对不用环境的不同配置 提供自持。
在application.properties中配置spring.profiles.active=prod
会找到文件为application-prod.properties的文件
7 启动原理-自动配置相关
@SpringBootApplication中@EnableAutoConfiguration的
EnableAutoConfigurationImportSelector 会找到具有/META-INF/spring.properties的文件,而spring-boot-autoconfigure-xxx.jar中有spring.propertiesd 的文件。在改文件下面的类 都有各种条件注解。
8 介绍了如何自定义自动注解的方法。
1)使用@ConfigurationProperties("prefix=“hello”")注解。
2)自动配置若想生效需要注册自动配置类,即在src/main/resources下创建/META-INF/spring.factories。在其中注册如下内容:
9 Spring-web介绍了Thymeleaf,它是Spring-boot推荐使用的引擎。
10 第七章:通过注册Bean来声明Filter,servlet,Listener。
或者注册为ServletRegistrationBean
11 可以在application.properties中配置tomcat容器的配置,比如端口号、回话session过期时间,Tomcat编码,是否开启Tomcat压缩等。同样这些配置也可以在代码中配置。
12 7.4.3中 替换tomcat为jetty:在pom.xml中 exclusion掉spring-boot-starter-tomcat,。引入spring-boot-starter-jetty
13 7.4. 介绍如何在Tomcat中配置SSL,及http自动转向https。
14 spring data项目包含了一系列数据访问的解决方案,包括关系和非关系数据库的访问。包括MongoDB、Redis、Hadoop、ElasticSearch等。
15 8.1引入Dokcer,对其安装、基本使用做了介绍。
16 Spring的事务机制用统一的机制来处理不同数据访问技术的事务处理。提供统一接口PlatformTransactionManager接口。
17 Spring缓存
定义CacheManager和Cache接口来统一不同的缓存的技术。
18 Spring企业级开发
包括安全控制Spring Security(主要认证和授权),它提供了一个多个过滤器实现的所有安全功能。只需要注册一个特殊的DelegatingFilterProxy过滤器到WebApplicationInitializer即可。
19 Spring batch 处理大量数据(主要读大量数据),然后进行一定处理后输出成指定的形式。
20 监控
监控内容
支持http\jmx\ssh协议
21 分布式系统开发-Spring Cloud
配置服务:Config Server
服务发现:通过Netflix oSS的Eureka来实现服务发现。Eureka Server为微服务注册中心。
路由网关:通过Zuul实现,支持自动路由映射到Eureka Server上注册的服务。通过注解@enableZuulProxy来启用路由代理。路由网关的主要目的是为了让所有的微服务对外只有一个接口。
负载均衡:使用Ribbon和Feign作为客户端的负载均衡。
断路器(circuit breaker):主要是为了解决当某个方法调用失败的时候,调用后备方法来替换失败的方法,达到容错、阻止级联错误等功能。使用@EnableCircuitBreaker的来启用。使用@HystrixCommand的fallbackMethod来指定后备方法。Spring Cloud还提供了控制台监控断路器的运行情况。使用@EnableHystrixDashboard注解开启。