问题

首先有构造方法的Bean是可以通过private final来引入的,如下图中的Controller中对service的引用
image-1679624138164process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAd3VfNTU1NTU=,size_20,color_FFFFFF,t_70,g_se,x_16)
但是在service引用别的bean时却不能用private final的形式,这是为什么?
image-1679624164626
使用private引用也会导致bean为空
image-1679624190346

原因

注意文章的第一句话有构造方法的Bean是可以通过private final来引入的,而上述的Controller中是加了@AllArgsConstructor注解的,它会给这个类加上全参的构造函数,这样就会在该类初始化时同步给属性初始化,也就是调用各引用Bean的初始化方法

因此就可以使用private final的形式来进行引用bean了

注意同一个类不要使用两种引入方式,要么用private final,要么用@Autowried
image-1679624217641

QQ + 微信

原文地址:https://wu55555.blog.csdn.net/article/details/121515414