I am wondering what the best place would be for a Spring Boot app to register additional beans. I have a Main class that is annotated with @SpringBootApplication and beans defined in that class are picked up. But when i put those beans in another class it seems that the are not being registered.
When reading the documentation i got the idea that the @SpringBootApplication would implicitly search for classes that have @Bean annotations in them.
So my options are now:
Put all @Bean annotated bean in my main class
@SpringBootApplication public class MyApplication { @Bean public Filter AuthenticationFilter() { return new AuthenticationFilter(); } public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); } }Create a configuration class and annotate that with @Configuration
@Configuration public class MyConfiguration { @Bean public Filter AuthenticationFilter() { return new AuthenticationFilter(); } }
Is there a better way of doing this?
Aucun commentaire:
Enregistrer un commentaire