Spring创建的对象默认放在作用域Scope("sinngleton"单例作用域)
has a!
is a
当spring容器中有多个实现类的对象时,Autowired注入时该注入哪一个呢? 1.注入时,spring会根据定义的变量名去找有没有同名的bean对象;
2.给变量加注解@Qualifier("xxx"),加上bean对象的名字,没有这个对象就会报错,哪怕只有一个实现类的对象

如果没有这样设置,就会出现下面这个报错

1G28IOTDNWW5Z[3SE99G@O5.png

@Component("xxx")可以给bean对象设置名字,省略的话默认为类名首字母小写.

image.png

Spring构建对象,不是通过new的,而是通过反射,因为new后面得加对象类型,这样就会固定!Spring底层默认是通过无参构造!
三种通过@Autowired和@Qualifier为属性赋值的方法

image.png


啦啦啦
1 声望0 粉丝