@Configuration equivalent to beans, @bean equivalent to beans.
The following is a typical spring configuration file (application-config.xml):
<beans>
<bean id= "OrderService" class= "Com.acme.OrderService"/>
<constructor-arg ref= "Orderrepository"/>
</bean>
<bean id= "Orderrepository" class= "Com.acme.OrderRepository"/>
<constructor-arg ref= "DataSource"/>
</bean>
</beans>
Then you can use a bean like this:
ApplicationContext CTX = new Classpathxmlapplicationcontext ("Application-config.xml");
OrderService OrderService = (orderservice) ctx.getbean ("OrderService");
Now spring Java Configuration This project provides a scheme to assemble beans through Java code:
@Configuration
public class Applicationconfig {
Public @Bean OrderService OrderService () {
return new OrderService (Orderrepository ());
}
Public @Bean orderrepository Orderrepository () {
return new Orderrepository (DataSource ());
}
Public @Bean DataSource DataSource () {
Instantiate and return an new DataSource ...
}
}
Then you can use a bean like this:
Javaconfigapplicationcontext CTX = new Javaconfigapplicationcontext (applicationconfig.class);
OrderService OrderService = Ctx.getbean (Orderservice.class);
Use @configuration annotations instead of Spring bean configuration