在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
注解只能用在抽象方法上,并且不能用在私有方法上。