spring02

本文介绍了Spring框架中的IoC(控制反转)和DI(依赖注入)原理,并通过具体示例展示了如何使用Spring容器来管理和注入bean。示例中包含了UserService和ByeService两个类的定义及它们之间的依赖关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现类:

<pre name="code" class="java"><pre name="code" class="java">package com;
public class UserService {
	private String name;
	private ByeService byeService ;
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	public void SayHello()
	{
		System.out.println("hello "+this.name);
		byeService.SayBye();
	}
}



<pre name="code" class="java">package com;
public class ByeService {
	private String name ;
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	public void SayBye()
	{
		System.out.println("Bye "+this.name);
	}
}



applicationContext.xml文件内容:

<beans>
<bean id="userService" class="com.UserService">
<property name="">
<value></value>
</property>
<property name="byeSerivce" ref="byeService"></property>
</bean>
<bean id="byeSerivce" class="com.ByeService">
<property name="" value=“”>
</property>
</bean>
</beans>


Test调用:

ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
UserService us =  (UserService)ac.getBean("userService") ;
us.sayHello();
总结:

1. 当ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml")执行时,spring容器对应被创建,同时applicationContext.xml中配置的bean对象就会被创建(内存)
2. spring实际上是一个容器框架,可以配置各种bean,并且可以维护bean与bean之间的关系,当我们需要使用某个bean的时候,我们可以直接getBean(id)只用即可

3. ioc(inverse of control)控制反转:所谓控制反转,就是把创建对象(bean)和维护对象的关系的权利从程序中转移到spring容器(applicationContext.xml)中

4.DI(dependency injection)依赖注入:实际上di和ioc是同一个概念,spring设计者认为di更能表达spring的核心

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值