Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring查找方法注释过度使用_Java_Spring_Spring Boot - Fatal编程技术网

Java Spring查找方法注释过度使用

Java 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管理。我在

我正在研究一个代码库,其中每个POJO都由spring管理,并使用lookup
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。