Java Spring查找方法注释过度使用
我正在研究一个代码库,其中每个POJO都由spring管理,并使用lookupJava Spring查找方法注释过度使用,java,spring,spring-boot,Java,Spring,Spring Boot,我正在研究一个代码库,其中每个POJO都由spring管理,并使用lookupannotation注入 @Lookup public Publisher getPublisher() { return new Publisher(); } @Lookup public Book getBook() { return new Book(); } 这些Publisher和Book对象只不过是带有getter/setter的POJO。这些类作为原型bean进行spring管理。我在
annotation
注入
@Lookup
public Publisher getPublisher() {
return new Publisher();
}
@Lookup
public Book getBook() {
return new Book();
}
这些Publisher和Book对象只不过是带有getter/setter的POJO。这些类作为原型bean进行spring管理。我在想,这是对查找注释和开销的过度使用,我们可以只使用工厂方法或简单地创建新实例。您认为对这个用例使用查找注释有用/有效吗?一般来说,如果不需要这些bean来利用spring特性,如果这些bean从未被注入其他bean,或者从未需要在自己的实例中注入其他bean,那么将类的实例设置为一些spring bean是不相关的
@Lookup
是旧XML查找方法
属性的基于注释的方式。此外,使用此注释创建的bean也有多个限制。对于新项目,我从不使用它。作为需要在java类中声明Bean的替代方法,创建“不受限制”Bean的
@Bean
注释通常应该是首选的,而不是
编辑:
昨天一个非常相关的问题:。我只是更新了一下,让它更详尽 为什么不将Publisher类注释为componenet或service,并在使用时自动连接它?这是我给你的东西。我想你没有回答这个问题。事实上,Publisher被注释为组件和原型范围。我要求对POJO执行此操作,使用
@Lookup
是一种过分的做法。我认为您可以在自动连接的对象中放弃查找并使用@Qualifier。