在Spring中使用Java进行查找可以通过使用@Lookup
注解来实现。这个注解可以用在抽象方法上,并告诉Spring容器在运行时动态地为该方法返回一个bean实例。
首先,在配置类中定义一个抽象方法,并使用@Lookup
注解标记该方法:
@Configuration
public class AppConfig {
@Bean
public PrototypeBean prototypeBean() {
return new PrototypeBean();
}
@Lookup
public abstract PrototypeBean getPrototypeBean();
}
然后,在其他类中可以直接注入AppConfig
并调用getPrototypeBean()
方法来获取PrototypeBean
实例:
@Component
public class MyComponent {
@Autowired
private AppConfig appConfig;
public void doSomething() {
PrototypeBean bean = appConfig.getPrototypeBean();
// 使用PrototypeBean实例进行操作
}
}
在运行时,Spring容器会为getPrototypeBean()
方法返回一个PrototypeBean实例。需要注意的是,@Lookup
注解只能用在抽象方法上,并且不能用在私有方法上。