记一个Shiro自定义Dao和Spring Boot的小细节
背景
非常简单的问题,但是之前接触的较少,或者都是默认情况,这边做个记录。
Spring Boot项目,整合Shiro,当前做Session多台服务器之间的数据库同步。
问题与解决
在ShiroConfig类的编写过程中,需要进行sessionManager.setSessionDAO(自定义DAO)定义session处理方式,但好像是由于Shiro和Spring加载顺序的原因,如果直接@Autowried,会导致空指针错误,因为dao并未被加载进来。
所以这边使用如下方法定义即可:
@Bean(name = "mySqlSessionDao") public MySqlSessionDao mySqlSessionDao() { return new MySqlSessionDao(); } // 使用如下 sessionManager.setSessionDAO(mySqlSessionDao());

浙公网安备 33010602011771号