SSM框架 Spring的中DI 2021.3.5

1.4依赖注入 DI

Spring 容器将负责被以来对象赋值给调用者的成员变量,

IoC和DI由什么关系呢?

其实它们是同一个概念的不同角度描述

DI 和IoC的区别:

  • DI:由容器动态的将某个依赖关系注入到组件之中

●谁依赖于谁:当然是应用程序依赖于IoC容器

●为什么需要依赖:应用程序需要IoC容器来提供对象需要的外部资源

●谁注入谁:很明显是IoC容器注入应用程序某个对象,应用程序依赖的对象

●注入了什么:就是注入某个对象所需要的外部资源(包括对象、资源、常量数据)

1.41 依赖方式的注入

使用setter方法实现依赖注入,依赖注入的目的并非为软件系统带来更多的功能,同意搞了组建的重用频率.

在XML文档中增加了

  <!--添加一个ID为userService的实例-->
  
  
    <bean id="userService" class="come.xiucai.ioc.UserServiceImpl">
   <!-- 将ID为userDAO的Bean实例,注入到userService ,去向userDAO来自于 userDao-->
    <property name="userDAO" ref="userDao"></property>
package come.xiucai.ioc;

public class UserServiceImpl implements UserService{
     //声明userDao这个属性
	private UserDao userDAO;
	//添加userDao属性的方法,用于实现用户依赖注入
	public void setUserDAO(UserDao userDAO) {
		this.userDAO = userDAO;
	}
	@Override
	public void say() {
	
		this.userDAO.say();
		System.out.println("userService say hello World");
	}
	

}

以上是对于UserService的实现类:这里想应用user的say,在XML里注射了,userDao进来,在这里接受了userDao,然后使用了userDao.

  <property name="userDAO" ref="userDao"></property>

关键代码

对于Ioc和DI分析介绍:https://blog.youkuaiyun.com/bestone0213/article/details/47424255

测试代码:

	//1.初始化Spring容器,加载配置文件
		ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
		//2.通过容器获取UserService实例
		UserService userService=(UserService) applicationContext.getBean("userService");
         //3.调用实例的say方法
		
		userService.say();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秀才大大

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值