有两个项目A、B,都是springboot项目,A项目打包后被B引用(B通过maven坐标引用A)
配置B项目为启动时,将A中的controller、aspect、filter、springinterceptor等初始化(就是启动类@ComponentScan增加jar包里的类的路径)
当访问 /user/test 时(属于本项目),会不会被 aspect、filter、springinterceptor 拦截? 会的
能访问 /test 吗? (这是A项目中的controller),能的,如果能访问,会被 aspect、filter、springinterceptor 拦截吗? 会的
-
补充其他的测试点 如果B项目配置了扫描jar包(A项目)中的bean并进行实例化,假设jar包中的某个bean出错,会影响到本项目吗? 是的,会导致本项目启动不了。可以排除掉jar包中实例化出错的bean,排除掉后宿主项目就可启动
-
配置覆盖的问题 假设B项目引入的jar包(A项目)的某个bean读取到自己的配置的值是1(读取其自己的application.properties),宿主项目引入它, 宿主项目需要提供配置吗? 需要的。虽然jar包被打出来的时候已经包含了application.properties文件,但宿主项目读取不了jar包中的该文件
-
启动B项目,则A项目的controller被实例化,A项目中的controller方法能被访问吗? 可以的
-
B项目中的拦截器,能拦截A项目里的controller吗?能!
(实际上如果在宿主项目B启动时若扫描A项目,A项目产生的bean,和在B项目直接写这些bean,是没什么两样的)