- 博客(4)
- 收藏
- 关注
原创 Web应用全栈之旅-Spring篇(四)集成GraphQL
一、背景 当前端应用跨多端时,常碰到的问题有: 各端需要获取的信息量不同,例如手机端由于显示屏的大小需要获取的数据比PC端少,如果和PC端共用相同的接口,那么返回了很多冗余的数据,影响性能。 各端对数据的要求不同,有时需要聚合多个后端服务的数据,每一个聚合场景都新增一个服务会导致前端和后端耦合太紧;如果分多次调用又增加了前后端交互次数,从而影响性能。 为了解决这些问题GraphQL应运而生,其...
2019-08-18 15:26:07 298
原创 重识Java动态代理(二)Spring中声明式编程实现
一、声明式编程的好处 声明式编程的好处有: 代码简洁,不需要写很多相同的实现代码 对使用者屏蔽了实现细节,使用者只需要声明要做什么,而不关心怎么做。 二、适用场景 声明式编程适合封装公共的,不涉及业务逻辑的基础服务,例如远程调用,数据库访问。 三、Spring中声明式编程的实现 下面看一个在Spring中通过声明式编程实现远程访问的Demo,Demo类结构如下: EnableRestCli...
2019-08-18 15:25:03 179
原创 重识Java动态代理(一)被忽略的场景
一、关于Java动态代理 谈到Java的动态代理,大多数人会想到: 一种代理模式,可以在实际调用方法前、后增加公共方法调用,例如记录日志,用户鉴权。 cglib代理和JDK动态代理的优缺点 从一些应用场景来看,代理可做的事情也可以通过AOP实现,所以暂时我们还用不到动态代理。 二、被忽略的场景 Java动态代理经常被忽略的一个应用场景是:动态实现接口方法而不需要实现类,这和作为代理类的场景是有...
2019-08-18 15:22:30 132
原创 Web应用全栈之旅-Spring篇(三)数据库事务
一、事务支持 Spring事务支持需要做如下两件事: 启动类上增加启用事务注解@EnableTransactionManagement。 @EnableSwagger2 @EnableTransactionManagement @SpringBootApplication public class MainApplication { public static void main(Stri...
2019-08-18 15:20:13 85
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人