Spring5
文章平均质量分 95
此心光明-超然
这个作者很懒,什么都没留下…
展开
-
Spring 5 - Spring AOP 架构
Spring 5 - Spring AOP 架构Advice接口关于ProxyFactory类增加 Before Advice通过Before Advice,实现安全的方法访问增加After-Returning Advice增加Around Advice增加Throws AdviceSpring AOP基于代理。当你增加一个类的advised的实例的时候,你必须使用ProxyFactory增加类...原创 2018-11-23 14:44:55 · 295 阅读 · 0 评论 -
Spring5 - 集成Server-Sent Events功能
如果Controller返回SseEmitter,可以集成Server-Sent Events功能,向浏览器推送消息。 @GetMapping(path = "infoPush/{sms}", produces=TEXT_EVENT_STREAM_VALUE) public SseEmitter infoPush(@PathVariable("sms") String smsID)...原创 2019-05-31 15:16:01 · 1331 阅读 · 1 评论 -
Spring WebFlux - 定制NettyReactiveWebServerFactory
Spring的版本迭代很快,去年还是5.0,今年已经升级到5.1了。别看只是小版本的升级,有些地方已经不兼容了。比如,5.0时代,可以这样定制ConfigurableReactiveWebServerFactory: @Bean ConfigurableReactiveWebServerFactory webServerFactory() { NettyReac...原创 2019-04-11 14:54:52 · 5243 阅读 · 2 评论 -
Spring WebFlux -自定义ReactiveTransactionTemplete实现事务
Mono里是不支持注解事务的。比如 @Transactional public Mono<CommonOutput> save(RecordFileSaveReq req) { return Mono.just(true) .filter(b -> saveLog(req)) .fi...原创 2019-03-28 17:29:50 · 3236 阅读 · 0 评论 -
Spring WebFlux - 使用@Valid校验
WebFlux的validation比以前的版本简单了很多。先看pom.xml: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> ...原创 2019-03-27 08:34:21 · 2280 阅读 · 0 评论 -
Spring WebFlux - WebClient连接池简单测试和代码分析
Spring5.1开始,WebFlux的WebClient支持连接池功能了。默认情况下,WebClient使用global Reactor Netty资源,也可以不使用全局资源: @Bean ReactorResourceFactory resourceFactory() { ReactorResourceFactory factory = new Reactor...原创 2019-03-21 17:08:35 · 9695 阅读 · 3 评论 -
使用Spring和Redisson实现cache功能
使用Spring和Redisson实现cache功能先看redis的配置:@Configuration@EnableRedissonHttpSession@EnableCachingpublic class RedisConfig { @Value("${redis.url}") private String url; @Autowired privat...原创 2019-01-07 15:37:06 · 9981 阅读 · 3 评论 -
Spring 5 设计模式 - Dependency Injection
Spring 5 设计模式 - Dependency Injection依赖注入模式依赖注入模式的类型基于构造器的基于Setter方法的二者的比较使用Spring配置依赖注入模式Java-basedAnnotation-based什么是Stereotype注解使用组件扫描搜索beanautowiring消除歧义解决使用抽象工厂解决依赖注入模式Spring使用依赖注入,解决不同层的不同组件之间的...原创 2018-11-28 16:50:52 · 236 阅读 · 0 评论 -
Spring 5 设计模式 - Structural
Spring 5 设计模式 - StructuraladapterSpring使用的适配器模式简单的实现BridgeSpring中的应用简单的实现Composite简单的实现Decorator简单的实现Spring中的应用structural模式被用来定义对象(继承或者组合)之间的关系。Structural模式确保部分的改变不会导致整体也跟着改变。adapter适配器模式让两个不相容的类(因...原创 2018-11-28 11:03:45 · 860 阅读 · 0 评论 -
Spring 5 设计模式 - Creational
Spring 5 设计模式 - CreationalFactorySpring的工厂模式简单的例子Abstract factorySpring中的Abstract factory简单的例子SingletonSpring 中的应用Prototype简单的例子BuilderSpring中的Builder简单的例子我们都知道怎么创建一个新对象: Account account = new Ac...原创 2018-11-27 17:06:50 · 478 阅读 · 0 评论 -
Spring 5 设计模式 - 开始
Spring 5 设计模式 - 开始依赖注入AOPtemplateSpring容器bean的生命周期依赖注入对象之间的依赖增加复杂性,导致对象之间紧耦合。比如下面的TransferService组件依赖其他两个组件:TransferRepository和AccountRepository:如果直接使用实例:public class TransferService { priva...原创 2018-11-27 13:13:29 · 1160 阅读 · 0 评论 -
Spring 5 设计模式 - 使用代理和装饰模式的Spring AOP
Spring 5 设计模式 - 使用代理和装饰模式的Spring AOPSpring中的代理模式什么是AOPAOP要解决的问题代码纠缠代码分散解决AOP的核心术语和概念AdviceJoin PointPointcutAspectWeaving定义pointcuts写pointcuts增加aspects实现AdviceBeforeAfter ReturningAfter ThrowingAfterA...原创 2018-11-29 17:01:22 · 1849 阅读 · 0 评论 -
Spring 5 设计模式 - bean生命周期和使用的模式
Spring 5 设计模式 - bean生命周期和使用的模式生命周期和阶段初始化阶段加载bean定义初始化bean实例使用BeanPostProcessor自定义bean初始化扩展点bean的使用阶段销毁阶段理解bean scopessingletonprototypesessionrequest其他scopes自定义Spring容器管理的每个bean都有自己的生命周期和scope。生命周期和...原创 2018-11-29 14:13:34 · 741 阅读 · 0 评论 -
Spring 5 - 理解代理
Spring 5 - 理解代理使用JDK动态代理使用CGLIB代理比较代理性能Spring支持两种代理,JDK代理和CGLIB代理。代理的核心目标是拦截方法调用,必要的时候执行应用于特定方法的advice链。为了这个核心功能,代理还必须支持一些附加属性。比如可以通过AopContext类(这是一个抽象类)暴露自己。所有的代理类也都实现了Advised接口,这样,在代理增加以后还可以修改adv...原创 2018-11-26 14:18:19 · 232 阅读 · 0 评论 -
Spring 5 - Advisors和Pointcuts
Spring 5 - Advisors和PointcutsPointcut有效的Pointcut实现使用DefaultPointcutAdvisor使用StaticMethodMatcherPointcut增加静态Pointcut使用DyanmicMethodMatcherPointcut增加动态Pointcut简单的名称匹配使用正则表达式增加Pointcuts增加注解匹配的PointcutsP...原创 2018-11-26 13:12:37 · 515 阅读 · 0 评论 -
Spring 5 - 使用RestTemplate,访问HTTPS服务
Spring的RestTemplate,支持SimpleClientHttpRequestFactory、OkHttp3ClientHttpRequestFactory和HttpComponentsClientHttpRequestFactory。其中,SimpleClientHttpRequestFactory不支持定制client。如果要访问HTTPS网站,会抛异常:java.secur...原创 2019-06-12 13:00:09 · 1543 阅读 · 0 评论