IoC实现——xml配置版

导入Jar包(Maven环境下)

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.1.10.RELEASE</version>
</dependency>

编写代码

1.编写一个实体类

public class Hello {
	private String name;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public void show(){
		System.out.println("Hello,"+ name );
	}
}

2.编写Spring配置文件beans.xml(文件在resources目录下)

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--bean就是java对象 , 由Spring容器创建和管理,-->
	<bean id="hello" class="com.kuang.pojo.Hello">
		<property name="name" value="Spring"/>
	</bean>
</beans>

3.测试(别忘记导入junit包)

@Test
public void test(){
//解析beans.xml文件 , 生成管理相应的Bean对象
	ApplicationContext context = new
	ClassPathXmlApplicationContext("beans.xml");
	//getBean : 参数即为spring配置文件中bean的id .
	Hello hello = (Hello) context.getBean("hello");
	hello.show();
}

创建bean对象的两种方式

通过无参构造方法创建

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
	<bean id="user" class="com.kuang.pojo.User">
		<property name="name" value="kuangshen"/>
	</bean>
</beans>

通过有参构造方法创建

<!-- 第一种根据index参数下标设置 -->
<bean id="userT" class="com.kuang.pojo.UserT">
<!-- index指构造方法 , 下标从0开始 -->
	<constructor-arg index="0" value="kuangshen2"/>
</bean>

<!-- 第二种根据参数名字设置 -->
<bean id="userT" class="com.kuang.pojo.UserT">
<!-- name指参数名 -->
	<constructor-arg name="name" value="kuangshen2"/>
</bean>

<!-- 第三种根据参数类型设置 -->
<bean id="userT" class="com.kuang.pojo.UserT">
	<constructor-arg type="java.lang.String" value="kuangshen2"/>
</bean>

总结

1.Hello 对象是谁创建的 ?
【 hello 对象是由Spring创建的 】
2.Hello 对象的属性是怎么设置的 ?
【hello 对象的属性是由Spring容器设置的 】

3.对象是在什么时候创建的?
【在配置文件加载的时候,对象就已经被初始化了,保存在容器中,当程序需要对象时就注入对象】

这个过程就叫控制反转 :
控制 : 谁来控制对象的创建 , 传统应用程序的对象是由程序本身控制创建的 , 使用Spring后 , 对象是由Spring来创建的
反转 : 程序本身不创建对象 , 而变成被动的接收对象 .

团队合作

团队合作通过import来实现

<--如果在一个xml配置文件中引入了该代码,则路径中的xml配置就会整合到该配置文件中合并-->
<import resource="{path}/beans.xml"/>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值