我是spring的新手,为了更好地理解我所学的东西,我决定将spring集成到我的一个项目中。在项目中,在运行时生成事件集合,其中事件是pojo。fetchera和fetcherb是两个依赖于事件示例来获取其输出的类,这意味着对于不同的事件示例,fetchera和fetcherb的输出是不同的。
由于这些事件是在运行时生成的,因此如何使用spring依赖注入将事件bean注入到运行时创建的每个fetchera和fetcherb对象中。下面是我的代码的示例。
public class Event {
//some data fields
}
public class FetcherA {
private Event event;
FetcherA (Event event) {this.event=event}
public String fetch () {//fetch output based on this event}
}
public class FetcherB {
private Event event;
FetcherB (Event event) {this.event=event}
public String fetch () {//fetch output based on this event}
}
public static void main (String[] args) {
List<Event> events = EventsFetcher.fetchEvent();
List<String> myTextBook = new ArrayList<String>();
events.forEach ( event -> {
String messageBody= new FetcherA (event).fetch();
String messageTitle = new FetcherB (event).fetch();
myTextBook.add(messageBody);
myTextBook.add(messageTitle);
});
} ```
1条答案
按热度按时间33qvvth11#
在您的用例中,没有
Event
,FetcherA
,或FetcherB
应该是spring管理的,即它们不应该是spring bean。如果你移动了
Fetch
字段作为fetch()
方法,这将允许FetcherX
类是单例bean。你可以坚持,在这种情况下
FetcherX
类将是原型bean,您的代码将与spring容器集成以请求循环中的新示例。不是很理想。