简体   繁体   中英

Spring Boot load beans from context xml in library

I have two applications:

  • Application child : it's a Spring app with XML Schema-based configuration. So We have an applicationContext.xml .

  • Application parent : Spring Boot app. Uses application child as a library.

Is possible to load all beans defined in child XML, and put them into parent context?

Yes it is possible.

From javadoc :

As mentioned above, @Configuration classes may be declared as regular Spring definitions within Spring XML files. It is also possible to import Spring XML configuration files into @Configuration classes using the @ImportResource annotation . Bean definitions imported from XML can be injected using @Autowired or @Import.

Here an example from the same javadoc that mix beans loaded from xml in beans defined in configuration class:

 @Configuration
 @ImportResource("classpath:/com/acme/database-config.xml")
 public class AppConfig {
     @Inject DataSource dataSource; // from XML

     @Bean
     public MyBean myBean() {
         // inject the XML-defined dataSource bean
         return new MyBean(this.dataSource);
     }
 }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM