spring cloud 简单集成shiro下的多模块下获取配置以及依赖bean的创建

1.spring cloud 环境,项目有eureka server,config-server,zuul集成shiro

 spring boot 版本 2.2.1.RELEASE

springg cloud:  Hoxton.M3

 shiro:1.2.3

2.设计的技术点

   a.多模块下的pom关系。

      parent的pom采用

 


    
        
            org.springframework.cloud
            spring-cloud-dependencies
            ${spring-cloud.version}
            pom
            import
        
    

子模块pom的parent采用父模块,子模块如果引用某个组件需要崽子模块引用需要的组件


    poetry
    poetry-parent2
    0.0.1-SNAPSHOT

其主要目的是利用maven的继承功能。

 

b.子模块可以不需要spring application文件(个人认为整个project只有一个main入口),也可以没有配置文件,通过main所在的模块引用子模块组件如


    poetry
    common-bootservice
    0.0.1-SNAPSHOT

这样common-bootservice的配置可以在主模块的配置文件中,也可以是统一的配置中心如github上如

spring cloud 简单集成shiro下的多模块下获取配置以及依赖bean的创建_第1张图片

主模块配置文件中配置要同步的配置,配置文件名称可以随便定义,但是要和主模块中的名称一致。

spring cloud 简单集成shiro下的多模块下获取配置以及依赖bean的创建_第2张图片

C.@Configuraton注解的bean依赖

   常见的no qualifying bean of type available 错误,最简单丑陋的解决方式是在spring application文件添加注解:

 

一个有意思的 在Bean依赖的场景如

 cachemanager类的bean如下:spring cloud 简单集成shiro下的多模块下获取配置以及依赖bean的创建_第3张图片

在另外一个bean中引用

请注意cachemanager的函数名为cachemanager,引用的参数名称为cacheManager,二者相同,运行主模块一直报No qualifying bean of type 'cacheManager' available!!!! 但如果 cachemanager的函数改成

程序可以正常运行!!,magic!

 

 

 

 

 

你可能感兴趣的:(spring,cloud)