繁体   English   中英

注入的 class 是否必须有 spring 特定注释?

[英]Is it necessary that the injected class should have a spring specific annotation?

我有一个名为 FilterRequest 的 class 如下

@FieldDefaults(level = AccessLevel.PRIVATE)
@Getter
@Setter
@ToString
public class FilterRequest {
    Filter filter;
}

如您所见,我没有任何 spring 特定注释,例如:@Component、@Service、@Repository 或 @Controller

我尝试在另一个 class 中自动连接相同的 class

    @Autowired
    private FilterRequest filterRequest;

它会起作用吗?

要自动装配 object,spring 的实体管理器必须将其识别为 java bean,您可以通过使用@Component对其进行注释来实现。

这样你就告诉 spring 负责在每次需要时初始化你的 object

@Service@Repository@Controller扩展@Component

问:它会工作还是不工作?

答:这行不通。 如果它是默认配置并且没有修改库,那么这个@Autowired注解没有任何意义。

如果你想让它工作,你应该编写自己的修改注释及其实现。


这些注释具有内部关系。 使用这些关系,spring 为您做了一些工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM