maven子模块适合使用spring boot吗?

itwriter 发布于 2018/08/08 18:14
阅读 418
收藏 4

单模块的情况下,Spring Boot的配置非常简单。但在maven多模块中,Spring Boot真的很不友好。

第一,Application的注解需要显式添加

@ComponentScan("XXX.XXX.XXX")

否则,入口模块以外的模块无法被识别。

第二,引入其余框架需要在添加对应的basePackages注释,否则很可能不能识别非入口模块对应的功能代码。

比如说使用spring-data-rest,尽管已经配置了ComponentScan,但还必须额外添加:

@EnableJpaRepositories(basePackages="("XXX.XXX.XXX")")
@EntityScan("XXX.XXX.XXX")

还有就是shiro,我想把shiro整合进来,但发现如果shiro的注解不放在入口模块中,整个Controller的接口都不能对外发布(包括同一Controller中没有使用shiro注解的接口)。至今我还没找到解决shiro整合问题的解决办法。

 

请问下有没有人遇到同样的问题,你们是怎么解决的?还是说maven多模块+Spring Boot真的没有前途?

加载中
0
itwriter
itwriter

shiro注解只能放在入口模块的问题已经解决了。

<dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-spring-boot-starter</artifactId>
            <version>1.4.0</version>
        </dependency>

改为:

 <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-spring</artifactId>
            <version>1.4.0</version>
        </dependency>

即可。话说这个starter意义不大啊。

以此类推,如果能把spring-data-rest的引入,改为非starter的形式,应该也可以省去不必要的配置。

不过看了下spring-boot-starter-data-rest的依赖树,比shiro的starter复杂的多……算了。以后有问题再说吧……

0
开源中国首席技术官
开源中国首席技术官
非常适合。我们现在就是这种模式
itwriter
itwriter
请教下,这种情况下,如何做单元测试? https://www.oschina.net/question/1379006_2284997 模块之间存在(配置)依赖关系,运行程序可以加载多个模块各自的配置。但单元测试时,该怎么办?
返回顶部
顶部