跨Java包的自动装配的Spring Bean
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了跨Java包的自动装配的Spring Bean,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1295字,纯文字阅读大概需要2分钟。
内容图文
我试图将我的项目分成三个模块:核心,管理员和用户,以便我可以通过核心共享公共代码.问题是我无法让Spring在不同的主程序包中拾取自动装配的bean,当我在同一个程序包中运行它时.
在com.mickeycorp.core包中,我有我希望管理员和用户模块使用的模型,服务等.在com.mickeycorp.admin是我的WebApplicationStarter(扩展SpringBootServletInitializer),我得到了:
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
ctx.register(SpringConfiguration.class);
return application.sources(WebApplicationStarter.class);
}
我认为应该在我的配置类中获取以下内容:
@Configuration
@ComponentScan("com.mickeycorp")
public class SpringConfiguration {
}
显然我误解了一些东西..我认为设置ComponentScan会在com.mickeycorp下通过包进行Spring扫描以获取组件注释吗?
解决方法:
我是在正确的轨道上..添加@ComponentScan只是那里的三分之一并且是正确的但它没有配置Spring来扫描其他类型 – 它只涵盖@Component @ Repository,@ Service或@Controller注释.我必须添加以下内容来拾取@Entity和@Repository:
@EntityScan("com.mickeycorp.core")
@EnableJpaRepositories("com.mickeycorp.core")
在这种情况下,重写SpringApplicationBuilder也是不必要的,因为SpringConfiguration类会自动被选中.
参考文献:
Spring Docs: EnableJpaRepositories
内容总结
以上是互联网集市为您收集整理的跨Java包的自动装配的Spring Bean全部内容,希望文章能够帮你解决跨Java包的自动装配的Spring Bean所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。