- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 Springboot整合mybatis源码解析(二)
项目中整合了mybaitsplus的starter,该包下有一个MybatisPlusAutoConfiguration,是一个自动配置类,有一个创建SqlSessionFactory的方法,截图如下:首先创建了一个MybatisSqlSessionFactoryBean对象,设置dataSource对象到MybatisSqlSessionFactoryBean对象上,获取MybatisConfiguration对象,该对象继承了mybatis的Configuration,接着调用MybatisSql
2021-01-28 18:14:56 324
原创 springboot整合mybatis源码解析(一)
我们项目中配置Mapper时候可以写个配置类,配置类用@Configuration修饰,然后写个@MapperScan扫描指定包,截图如下:MapperScan注解类中引入了@Import(MapperScannerRegistrar.class),MapperScannerRegistrar实现了ImportBeanDefinitionRegistrar,根据springboot原理会调用registerBeanDefinitions方法,会解析MapperScan上的字符串,例如@MapperSc
2021-01-06 20:52:34 203 1
原创 SpringBoot + Shiro权限源码解析
根据spring aop原理,实例化spring容器对象的时候会调用到AbstractAutoProxyCreator.wrapIfNecessary()方法,该类是spring aop包下的类,不太了解spring aop的童鞋先了解一下,该类会为符合某个条件的对象生成代理对象进而进行拦截操作执行一些业务逻辑,该方法截图如下:该方法中调用了两个重要的方法,一个是getAdvicesAndAdvisorsForBean()方法一个是createProxy()方法,getAdvicesAndAdviso
2020-12-16 16:47:28 272
原创 SpringBoot + Shiro登出源码解析
项目里面配置shiro退出的url为filterChainDefinitionMap.put("/logout",“logout”),最终会调用到org.apache.shiro.subject.support.DelegatingSubject的logout方法,截图如下:接着调用了org.apache.shiro.web.mgt.DefaultWebSecurityManager的logout方法,方法截图如下:首先调用了beforeLogout方法,该方法判断项目里面是否配置了记住我的功能
2020-12-15 10:34:23 302
原创 SpringBoot + Shiro登录源码解析
项目登录的Controller截图如下:还是从当前线程取出Subject对象,在启动时候已经放置了Subject对象,所以此处Subject对象不为空,新建一个UsernamePasswordToken对象,把前端用户名、密码传递到其构造函数中,该对象实现了RememberMeAuthenticationToken接口,有个方法isRememberMe(),表示用户是否希望记住当前登录用户,此处我们设置为true,接着调用Subject的isAuthenticated方法判断用户是否认证了,如果没有
2020-10-28 13:45:43 243
原创 Springboot整合Shiro之请求源码分析
上文已说到Springboot启动时候往serlvet容器中注入SpringShiroFilter过滤器,该过滤器实现了Filter接口,当有请求到来时会进行拦截操作,根据链式调用最终会调用到父类AbstractShiroFilter的doFilterInternal
2020-10-27 17:11:19 152
原创 Springboot整合shiro之过滤器注册源码分析
Springboot原理不了解的可以先了解一下它的运行原理,通常我们都是在springboot项目下配置一个shiro配置类本项目中配置的类是ShiroConfig,截图如下:ShiroFilterFactoryBean是shiro包下带的一个类它实现了FactoryBean接口,根据spring原理我们可以知道在实例化ShiroFilterFactoryBean对象时会调用getObject()方法,截图如下:该类中有个成员变量AbstractShiroFilter,该类最终实现了javax.se
2020-10-23 10:46:44 438 3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人