Spring的三种注入方式
宏观的有三种方法:
- 构造方法注入
- setter注入
- 基于注解的注入
1、构造方法注入
也就是在xml文件中注入bean,使用constructor-arg标签
<bean id="userService" class="com.lyu.spring.service.impl.UserService">
<constructor-arg ref="userDaoJdbc"></constructor-arg>
</bean>
2、setter注入
也就是在xml文件中注入bean,使用property标签
<bean id="userService" class="com.lyu.spring.service.impl.UserService">
<!-- 写法一 -->
<!-- <property name="UserDao" ref="userDaoMyBatis"></property> -->
<!-- 写法二 -->
<property name="userDao" ref="userDaoMyBatis"></property>
</bean>
3、基于注解的注入
也就是@Resource(名称)、@Autowired(类型)、@Controller、@Service等
优缺点
如果你使用的是构造器注入
恭喜你,当你有十几个甚至更多对象需要注入时,你的构造函数的参数个数可能会长到无法想像。
如果你使用的是setter方法注入
那么你将不能将属性设置为final
原文链接:https://blog.csdn.net/qq_32218473/article/details/89333590