dimanche 29 mars 2015

Autowired Spring Beans across Java packages

I’m attempting to break my project up into three modules: core, admin and user so that I can share common code via core. The problem is that I can’t get Spring to pickup the autowired beans across different main packages, when I have everything in the same package it works.


In the com.mickeycorp.core package I have the models, services, etc that I want the admin and user modules to use. In com.mickeycorp.admin is the my WebApplicationStarter (extends SpringBootServletInitializer) where I’ve got:



@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
ctx.register(SpringConfiguration.class);
return application.sources(WebApplicationStarter.class);
}


Which I believe should pickup my configuration class where I have the following:



@Configuration
@ComponentScan("com.mickeycorp")
public class SpringConfiguration {

}


Clearly I’ve misunderstood something.. I thought that setting ComponentScan would have Spring scan through packages under com.mickeycorp for component annotations?


Aucun commentaire:

Enregistrer un commentaire