Spring Framework 参考文档(JCache(JSR-107)注解)

2019-08-15
阅读 2 分钟
2.4k
从4.1版开始,Spring的缓存抽象完全支持JCache标准注解:@CacheResult、@CachePut、@CacheRemove和@CacheRemoveAll以及@CacheDefaults、@CacheKey和@CacheValue。即使不将缓存存储库迁移到JSR-107,也可以使用这些注解,内部实现使用Spring的缓存抽象,并提供符合规范的默认CacheResolver和KeyGenerator实现。换句话说,...

Spring Framework 参考文档(声明式基于注解的缓存)

2019-08-14
阅读 9 分钟
2.2k
声明式基于注解的缓存 对于缓存声明,Spring的缓存抽象提供了一组Java注解: @Cacheable:触发缓存人口。 @CacheEvict:触发缓存驱逐。 @CachePut:在不影响方法执行的情况下更新缓存。 @Caching:重新组合要应用于方法的多个缓存操作。 @CacheConfig:在类级别上共享一些常见的缓存相关设置。 @Cacheable注解 顾名思义...

Spring Framework 参考文档(理解缓存抽象)

2019-08-12
阅读 2 分钟
1.3k
缓存与缓冲区 术语“缓冲区”和“缓存”往往可以互换使用,但是请注意,它们代表不同的东西。传统上,缓冲区用作数据在快实体和慢实体之间的中间临时存储,由于一方必须等待另一方(这会影响性能),缓冲区允许整个数据块(而不是小块)同时移动,从而缓解了这种情况。数据只从缓冲区写入和读取一次,此外,至少有一方知道缓...

Spring Framework 参考文档(Bean概述)

2019-08-01
阅读 6 分钟
1.5k
Spring IoC容器管理一个或多个bean,这些bean是使用你提供给容器的配置元数据创建的(例如,以XML <bean/>定义的形式)。

Spring Framework 参考文档(容器概述)

2019-08-01
阅读 7 分钟
1.3k
org.springframework.context.ApplicationContext接口表示Spring IoC容器,负责实例化、配置和组装bean。容器通过读取配置元数据获取关于要实例化、配置和组装哪些对象的指令,配置元数据用XML、Java注解或Java代码表示,它允许你表达组成应用程序的对象以及这些对象之间丰富的相互依赖关系。

Spring Framework 参考文档(Spring IoC容器和bean介绍)

2019-08-01
阅读 1 分钟
1.4k
本章介绍了控制反转(IoC)原理的Spring Framework实现,IoC也称为依赖注入(DI)。它是一个过程,对象仅通过构造函数参数、工厂方法的参数,或从工厂方法构造后或返回后的对象实例上设置的属性来定义其依赖项(即与之一起工作的其他对象),然后容器在创建bean时注入这些依赖项。这个过程本质上与bean本身相反(因此称...

Spring Framework 参考文档(概述)

2019-07-31
阅读 3 分钟
1.4k
Spring使创建Java企业应用程序变得很容易,它提供了在企业环境中使用Java语言所需要的一切,支持Groovy和Kotlin作为JVM上的替代语言,并根据应用程序的需求灵活地创建多种体系结构,从Spring Framework 5.1开始,Spring需要JDK 8+(Java SE 8+),并为JDK 11 LTS提供开箱即用的支持。

Spring 指南(spring-retry)

2019-07-31
阅读 10 分钟
13k
该项目为Spring应用程序提供声明式重试支持,它用于Spring Batch、Spring Integration、Apache Hadoop的Spring(以及其他),命令式重试也支持显式使用。

Spring Cloud 参考文档(Spring Cloud Sleuth抽样)

2019-04-30
阅读 2 分钟
5.1k
Spring Cloud Sleuth抽样 采样可用于减少收集和报告的进程外数据,如果未对span进行抽样,则不会增加任何开销(noop)。 抽样是一个前期决策,这意味着报告数据的决定是在trace中的第一个操作中做出的,并且该决策是向下游传播的。 默认情况下,全局抽样器将单个速率应用于所有跟踪的操作,Tracer.Builder.sampler控制此...

Spring Cloud 参考文档(Spring Cloud Sleuth特性)

2019-04-28
阅读 6 分钟
4.5k
将trace和span ID添加到Slf4J MDC,因此你可以在日志聚合器中从给定的trace或span提取所有日志,如以下示例日志中所示: {代码...} 请注意MDC中的[appname,traceId,spanId,exportable]条目: spanId:发生的特定操作的ID。

Spring Cloud 参考文档(Spring Cloud Sleuth介绍)

2019-04-25
阅读 14 分钟
7.7k
Span:基本工作单元,例如,发送RPC是一个新的span,就像向RPC发送响应一样,Span由span的唯一64位ID标识,另一个64位ID标识其所属的Trace。Span还有其他数据,例如描述、带时间戳的事件、键值annotations(标签),导致它们的span的ID以及进程ID(通常是IP地址)。

Spring Cloud 参考文档(HTTP客户端)

2019-04-24
阅读 1 分钟
1.5k
Spring Cloud Netflix会自动为你创建Ribbon、Feign和Zuul使用的HTTP客户端,但是,你也可以根据需要自定义自己的HTTP客户端,为此,如果使用Apache Http Cient,可以创建ClosableHttpClient类型的bean;如果使用OK Http,可以创建OkHttpClient类型的bean。

Spring Cloud 参考文档(重试失败的请求)

2019-04-24
阅读 2 分钟
4k
Spring Cloud Netflix提供了多种方式来发出HTTP请求,你可以使用负载均衡的RestTemplate、Ribbon或Feign。无论你如何选择创建HTTP请求,总是有可能请求失败,请求失败时,你可能希望自动重试请求,要在使用Sping Cloud Netflix时这样做,你需要在应用程序的类路径中包含Spring Retry。当存在Spring Retry时,负载均衡的R...

Spring Cloud 参考文档(使用Sidecar支持多语言)

2019-04-23
阅读 2 分钟
8.6k
你是否有希望利用Eureka、Ribbon和Config Server的非JVM语言?Spring Cloud Netflix Sidecar的灵感来自Netflix Prana,它包含一个HTTP API,用于获取给定服务的所有实例(按主机和端口)。你还可以通过嵌入式Zuul代理代理服务调用,该代理从Eureka获取其路由条目,可以通过主机查找或Zuul代理直接访问Spring Cloud Confi...

Spring Cloud 参考文档(外部配置:Archaius)

2019-04-23
阅读 1 分钟
2.7k
Archaius是Apache Commons Configuration项目的扩展,它允许通过轮询源更改或允许源推送更改到客户端来更新配置,Archaius使用Dynamic<Type>Property类作为属性的句柄,如以下示例所示:

Spring Cloud 参考文档(客户端负载均衡器:Ribbon)

2019-04-23
阅读 6 分钟
3.5k
Ribbon是一个客户端负载均衡器,可以让你对HTTP和TCP客户端的行为进行大量控制,Feign已经使用了Ribbon,因此,如果你使用@FeignClient,此部分也适用。

Spring Cloud 参考文档(Hystrix超时和Ribbon客户端)

2019-04-23
阅读 4 分钟
2.9k
使用包装Ribbon客户端的Hystrix命令时,要确保将Hystrix超时配置为长于配置的Ribbon超时,包括可能进行的任何可能的重试,例如,如果你的Ribbon连接超时为一秒,并且Ribbon客户端可能会重试该请求三次,那么你的Hystrix超时应该略大于三秒。

Spring Cloud 参考文档(声明式REST客户端:Feign)

2019-04-18
阅读 9 分钟
8.6k
Feign是一个声明式的Web服务客户端,它使编写Web服务客户端变得更容易,要使用Feign,请创建一个接口并对其进行注解,它具有可插拔的注解支持,包括Feign注解和JAX-RS注解,Feign还支持可插拔编码器和解码器。Spring Cloud增加了对Spring MVC注解的支持,并使用了Spring Web中默认使用的相同HttpMessageConverters,Spri...

Spring Cloud 参考文档(服务发现:Eureka客户端)

2019-04-18
阅读 7 分钟
3.3k
服务发现是基于微服务架构的关键原理之一,尝试手动配置每个客户端或某种形式的约定可能很难做到并且可能很脆弱,Eureka是Netflix Service Discovery服务器和客户端,服务器可以被配置和部署为高可用性,每个服务器将注册服务的状态复制到其他服务器。

Spring Cloud 参考文档(断路器:Hystrix客户端)

2019-04-17
阅读 3 分钟
3.2k
较低级别的服务中的服务故障可能导致级联故障一直到用户,当对特定服务的调用超过circuitBreaker.requestVolumeThreshold(默认值:20个请求)并且在metrics.rollingStats.timeInMilliseconds(默认值:10秒)定义的滚动窗口中,失败百分比大于circuitBreaker.errorThresholdPercentage(默认值:> 50%)时,电路打...

Spring Cloud 参考文档(服务发现:Eureka Server)

2019-04-16
阅读 4 分钟
2.6k
要在项目中包含Eureka Server,请使用组ID为org.springframework.cloud和工件ID为spring-cloud-starter-netflix-eureka-server的启动器。

Spring Cloud 参考文档(Spring Cloud Config Client)

2019-04-16
阅读 5 分钟
6.5k
Spring Boot应用程序可以立即利用Spring Config Server(或应用程序开发人员提供的其他外部属性源),它还提取了一些与Environment变化事件相关的额外有用特性。

Spring Cloud 参考文档(推送通知和Spring Cloud Bus)

2019-04-15
阅读 1 分钟
2.8k
许多源代码存储库提供程序(例如Github、Gitlab、Gitea、Gitee、Gogs或Bitbucket)通过webhook通知你存储库中的更改,你可以通过提供程序的用户界面将webhook配置为URL以及你感兴趣的一组事件。例如,Github使用POST到webhook,其中包含一个JSON体,其中包含一个提交列表和一个header(X-Github-Event)设置为push,如果...

Spring Cloud 参考文档(嵌入Config Server)

2019-04-15
阅读 1 分钟
3.4k
Config Server作为独立应用程序运行最佳,但是,如果需要,你可以将其嵌入另一个应用程序中,为此,请使用@EnableConfigServer注解。在这种情况下,名为spring.cloud.config.server.bootstrap的可选属性非常有用,它是一个标志,指示服务器是否应从其自己的远程存储库配置自身,默认情况下,该标志处于关闭状态,因为它...

Spring Cloud 参考文档(提供纯文本配置访问)

2019-04-15
阅读 1 分钟
1.8k
你的应用程序可能需要根据其环境定制的通用纯文本配置文件,而不是使用Environment抽象(或YAML或属性格式中的其中一种替代表示)。Config Server通过/{name}/{profile}/{label}/{path}中的附加端点提供这些,其中name、profile和label与常规环境端点具有​​相同的含义,但path是文件名(例如log.xml)。此端点的源文件的...

Spring Cloud 参考文档(Spring Cloud Config Server)

2019-04-15
阅读 7 分钟
2.7k
Spring Cloud Config Server为外部配置提供基于HTTP资源的API(名称—值对或等效的YAML内容),通过使用@EnableConfigServer注解,服务器可嵌入Spring Boot应用程序中,因此,以下应用程序是配置服务器:

Spring Cloud 参考文档(Spring Cloud Config快速入门)

2019-04-13
阅读 4 分钟
1.6k
Spring Cloud Config快速入门 这个快速入门使用Spring Cloud Config Server的服务器和客户端。 首先,启动服务器,如下所示: {代码...} 服务器是一个Spring Boot应用程序,因此如果你愿意,可以从IDE运行它(主类是ConfigServerApplication)。 接下来尝试一个客户端,如下所示: {代码...} 定位属性源的默认策略是克隆...

Spring Cloud 参考文档(Spring Cloud Commons:通用的抽象)

2019-04-12
阅读 10 分钟
8.3k
服务发现、负载均衡和断路器等模式适用于所有Spring Cloud客户端都可以使用的通用抽象层,独立于实现(例如,使用Eureka或Consul发现)。

Spring 指南(调度任务)

2019-01-22
阅读 3 分钟
1.8k
调度任务 本指南将指导你完成使用Spring调度任务的步骤。 将要构建什么 你将构建一个应用程序,使用Spring的@Scheduled注解每五秒打印一次当前时间。 需要什么 大约15分钟 最喜欢的文本编辑器或IDE JDK 1.8或更高版本 Gradle 4+或Maven 3.2+ 你还可以将代码直接导入IDE: Spring Tool Suite(STS) IntelliJ IDEA 如何完...

Spring 指南(了解视图模板)

2019-01-22
阅读 2 分钟
1.8k
模型—视图—控制器(MVC)软件设计模式是用于在软件应用程序内分离关注点的方法,原则上,应用程序逻辑或控制器与用于向用户或视图层显示信息的技术分离,该模型是控制器和视图层之间的通信工具。