首页 > 解决方案 > Java 弹簧框架。仅将类声明为 bean

问题描述

我在解决问题的同时学习 Java Spring。我的问题是:我可以有一个只定义为 bean 的类池(没有在 JAVA 源代码中声明它们)吗?当应用程序运行时,它将仅对 bean 中可用的声明类进行计算。

因此,例如,我有ABC类的 bean ;但是我在这些类的 java 代码中没有声明。我可以将它们组合在一个接口下,比如DocumentationVersionSpecificTag 这种方法可行吗?

标签: javaspring

解决方案


您正在尝试使用 注入不在您的源代码中的对象@Autowired,您可以使用配置类来实现这一点,使用@Configuration 注释的类,并使用@Bean 将这些类配置为其中的bean:

@Configuration
public class ProjectConfiguration{

  @Bean
  public A configureA(){
    return new A(); // use the suitable constructor you want
  }

  @Bean
  public B configureB(){
    return new B(); // use the suitable constructor you want
  }

  @Bean
  public C configureC(){
    return new C(); // use the suitable constructor you want
  }

}

在你可以注入这些类之后@Autowired

@Autowired
A a;

有关更多详细信息,请参阅此链接


推荐阅读