最近学习了一下多模块开发、shiro+jwt安全授权,刚好又到了做毕业设计的时候,我想着用刚学的知识来完成我的毕业设计,于是我开始做数据库设计,用现学的知识做了springboot多模块并用easycode很快的生成了数据库,然而头大的还在后面。

  起初我以为shiro+springboot无非就是把依赖导入,然后实现方法并注入到spring框架之中,单模块开发中确实是这样,但在多模块开发的情况下单独出来的安全模块最终还是通过pom管理的方式引入Controller的,在多模块开发的情况下就是另外一种思维,模块从传统方式中拆分成了独立的模块通过pom依赖的方式映入再通过父类做统一pom管理,各个子模块之间也是存在一定的关系就好像是一个关系表,一个实体它需要被controller 引入或是被service层或是dao层引入,在多模块开发的环境下就需要就需要通过pom的方式将与之有关联的模块引入。父模块中需要用modules对子模块进行管理表示子模块的位置,子模块通过parent标签管理多个项目之间的公共的依赖传统模块通过多模块重构项目让整体结构看起来更清晰,其他层在controller有一定的关系,但是新手如果要了解原理是真的麻烦。

  害,但是还是有爽的东西,shiro安全感框架,完美的做了拦截与授权,其中四个主要的功能:

  • Authentication: 身份认证/登录,验证用户是不是拥有相应的身份;
  • Authorization: 授权,即权限验证,判断某个已经认证过的用户是否拥有某些权限访问某些资源,一般授权会有角色授权和权限授权;
  • SessionManager: 会话管理,即用户登录后就是一次会话,在没有退出之前,它的所有信息都在会话中;会话可以是普通JavaSE环境的,也可以是如Web环境的,web 环境中作用是和 HttpSession 是一样的;
  • Cryptography: 加密,保护数据的安全性,如密码加密存储到数据库,而不是明文存储;

还可以对接口资源进行角色及权限的识别,再加上token那就特别爽了。但是理解了又还好,但但但是类是真的又臭又长,什么通过 shiroFilterFactoryBean 实现拦截,DefaultWebSecurityManager 建立安全管理器,通过安全管理器再进行customRealm即当我们进行登录认证时所获取的安全数据来源-通过realm进行身份验证,授权。拦截就是ShiroFilterFactoryBean要做的事情了。就是这样。

   紧接着我项目都搭建好了结果更恶心的还在后面来看看这些报错真的恶心,凌晨两点半还在座位上坐着。EasyCode 给我带来了巨大的问题。Fuck 文件是生成了但是缺少的东西是真的多啊。给我整无语了。白花花花了一天多时间。

多模块开发报错

多模块开发相关文档:
https://www.cnblogs.com/elvinle/p/8177825.html
https://blog.csdn.net/m0_37732829/article/details/89292428 
https://www.cnblogs.com/vawa/articles/13826418.html

springboot 多模块下mapper分散的解决方法
https://blog.csdn.net/lee9289/article/details/82746700   


该报错注意你的配置文件*.properties配置文件
没有驱动,数据源等等等等,就是没有配置的锅,多模块开发中将application.properties配置文件放置在dao层下的resource文件夹下
Description:
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
Reason: Failed to determine a suitable driver class

在此也是想说虽然easycode用着爽但是用了esaycode生成的mapper层必须要去改生成好的mapper.xml文件,返回类型,命名空间等……,不然复制报错异常百度就是无脑的修改让你去扫描包,继承,注入 真的很恶心。这直接人都整傻,那报错是一个接着一个的一个错,后面连续错,吐了吐了。mapper.xml文件内的错误会让你感觉你的错误是来自你的mapper层,controller层,以及entity。在这里只有一个字"淦"浏览器历史记录都快炸了。。。。。。淦

然而问题最终都还是解决了,庆幸庆幸。基础问题都解决了,继续吧。耗时两天半。淦。

对于报错代码从后往前看是一种好习惯。giao

最后修改:2021 年 12 月 04 日 12 : 14 AM