Tech Spring Security - 密码
开发这么多年,spring security其实一直用的比较少。毕竟大部分情况下都是在搞定特定功能,security属于另一套东西,一般不需要,大都是涉及到前后端的时候才加上。这也是security这一功能的本质:一套呼之即来挥之即去的东西。spring security很好地诠释了这一点,给服务集成security功能还是比较优雅的。spring security的功能虽然不一定经常用,但...
开发这么多年,spring security其实一直用的比较少。毕竟大部分情况下都是在搞定特定功能,security属于另一套东西,一般不需要,大都是涉及到前后端的时候才加上。这也是security这一功能的本质:一套呼之即来挥之即去的东西。spring security很好地诠释了这一点,给服务集成security功能还是比较优雅的。spring security的功能虽然不一定经常用,但...
在介绍Spring Web MVC的时候说过,springboot反转了调用关系,翻身做主人了。springboot启动内嵌的servlet容器,内嵌的servlet容器还和之前调用SpringMVC的方式一样,只不过这次调用的是springboot的组件,不再是SpringMVC了。 蓄意内嵌servlet容器 servlet context初始化 Serv...
SpringMVC的全称是Spring Web MVC,来自于它的module名spring-webmvc。 现在的Spring WebFlux亦如是,来自spring-webflux。 初始化DispatcherServlet 题外话:WebApplicationInitializer是怎么被发现的 hierarchy spri...
springboot是基于spring的,springboot test自然也是基于spring test的。spring-boot-test依赖基于spring-test依赖,使用spring test提供的@BootstrapWith构建自己的context,至少提供了两方面的便利: 以springboot的方式寻找自己的config class,比spring test使用@Co...
MockMvc提供了对spring mvc层的测试能力。它能够模拟server的运行过程(实际上并没有真的server在运行),处理mock的请求和响应。说白了就是:client和server本来应该是多进程的行为,现在不仅都放在一个进程里,甚至都放在了同一个线程里执行!通过MockMvc,直接在一个线程里执行servlet! It performs full Spring MVC ...
快半年了,从第一次看spring test到现在,中间兜兜转转又做了一大堆事,补充了一大堆知识,现在回头再看,一切终于豁然开朗了! Spring TestContext Framework的抽象 test instance TestContext TestContextManager 加载TestCont...
Junit Jupiter Spring Test TestContext framework MockMvc client SpringBoot Test Junit Jupiter JUnit Jupiter是梦开始的地方。提供了@ExtendWith,让其他基于Jupiter的框架拥有拓展能力——主要是通过jupi...
既然assertj看完了,既然testcontainers、spring、springboot几乎每个框架都接入了jupiter的@ExtendWith,那就好好看看早就想看的jupiter吧! basic @DisplayName("😱") assertion assumption @Disabled @Tag ...
之前就一直看到很多开源框架使用AssertJ做测试,一直想看看,也没来得及。最近又好好看了看近期接触的优秀开源框架的测试用例,AssertJ再度映入眼帘。简单试了一下,果然比JUnit爽多了。不能忍了,今天终于抽空好好看了看AssertJ的架构。 断言谁 架构 一些优雅的用法 断言描述: as(String description, Object… arg...
今天在看assertj的实现时,看到了一个很好玩的东西:用泛型实现父子类的fluent api。它引用的一篇文章,回答了我之前很多次看到这种泛型写法时的满头问号。 fluent api 父类的this isNotNull在不同子类里抄了好多遍 为什么不写到父类里? 自界泛型 用泛型模拟一个能感知父子类具体类型的this ...