我正在努力减少;"复制/粘贴";我在多个Spring项目中使用的代码,例如自定义的WebSecurityConfigurerAdapter。到目前为止,这个适配器在我所有的项目中都是完全相同的代码,所以通常在这些情况下,我会创建一个独立的代码库,并导出到一个jar中,以保持可维护性。
问题是,当我这样做时,Spring似乎不再注意到该类是它需要吸收到其自动配置中的一个类,因为当我从项目中删除该安全类并引入现在包含它的jar库时,我开发的安全功能被破坏了。没有发现这种变化,它又开始工作了。
有没有什么方法可以让Spring查看特定的jar文件,将其吸收到它的配置中,这样我就可以避免自己拥有一个又一个类的配置代码,这些代码最终会在多个项目中重复?
您可以在应用程序类中使用带有参数的@ComponentScan注释来指向多个模块。这里有解释。这将覆盖@SpringBootApplication中包含的默认值