【SPRING源码系列 - IOC容器一】

SPRING源码系列 - IOC容器

spring - IOC概述

在讲spring ioc给大家看下这张图(来源spring解密), 整个spring框架就像图中的树,IOC容器为树干,从IOC上引申出AOP,JMX,SPRING MVC,ORM框架。spring里大部分组件都依赖于IOC,也就是spring和核心。我们从名字上来看,IOC英文Inversion Of Control ,又叫控制反转,也叫依赖注入(Dependency Injection)。将框架的控制权交给spring容器来管理。
通常情况下,被注入对象会直接依赖于被依赖对象,当使用时需要的时候,只需要“说”一下。就像你吃饭的时候只要手机上点个单,饭就自己做好送过来了。而在代码中的体现就是想用的话@Autowired注入一下,而不需要自己手动new 一个出来。“”说“”的方式有几种呢?这就涉及到IOC的注入方式了。
在这里插入图片描述

IOC注入方式

IOC注入方式有三种接口注入、构造器注入、setter注入以及最常用的注解注入。
为什么我们会了最简单的@Autowired注入也就是常说的注解注入还要去学习其他注入方式呢?因为在现实开发场景中会遇到各种各样的问题,比如(websockt对象自动注入失败),这个时候用@Autowired普通注入 就会失败 ,等我们全部学习完在回过头来看一看失败的原因以及解决办法。

  1. 构造器注入
    我们分别用xml方式与@Autowired方式来实现bean的注入。
<!-- 注册userService -->
<bean id="userService" class="com.lyu.spring.service.impl.UserService">
	<constructor-arg ref="userDaoJdbc"></constructor-arg>
</bean>
<!-- 注册jdbc实现的dao -->
<bean id="userDaoJdbc" class="com.lyu.spring.dao.impl.UserDaoJdbc"></bean>

public class UserService implements IUserService {
   

	private IUserDao userDao;
	
	public UserService(IUserDao userDao) {
   
		this.userDao &#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值