spring——IOC控制反转(二)

一、spring-IOC的方法注入
1、method方法注入
方法注入:通过方法注入实现抽象类的方法,从而实例化抽象类的对象。

<bean id="dog" class="com.mao.spring.model.Dog">
		<property name="id" value="3" />
	</bean>
	<bean id="p3" class="com.mao.spring.model.Person">
		<property name="id" value="103" />
		<property name="name" value="杨仁杰" />
		<lookup-method name="getDog" bean="dog" />
	</bean>

2、方法替换

<bean id="rep" class="com.mao.spring.model.Replacer" />
	<bean id="p4" class="com.mao.spring.model.Person">
		<property name="id" value="104" />
		<property name="name" value="杨艳蒙" />
		<replaced-method name="getDog" replacer="rep" />
	</bean>

二、bean之间的关系
1、引用使用ref参考即可
2、继承
在继承中,子bean需要声明parent=“父bean的id”,而父bean需要声明abstract=“true”

<bean id="p1" class="com.mao.spring.model.People" abstract="true">
		<property name="id" value="101" />
		<property name="name" value="王宏博" />
		<property name="age" value="21" />
		<property name="className" value="3年级1班" />
	</bean>
<bean id="p2" parent="p1">	
		<property name="id" value="102" />
		<property name="name" value="梁光超" />
	</bean>

子bean没写的会继承父bean,自定义的不会继承
3、依赖 被依赖的bean,必须能够实例化,才能够被依赖。depends-on=“所依赖bean的id”

<bean id="p3" class="com.mao.spring.model.People" depends-on="d1">
		<property name="id" value="103" />
		<property name="name" value="杨森" />
		<property name="age" value="25" />
		<property name="className" value="3年级2班" />
	</bean>
	<bean id="d1" class="com.mao.spring.model.Dog">
		<property name="id" value="12580" />
	</bean>

三、bean的作用范围
Spring bean 作用域默认是 单例 singleton; 可以通过配置 prototype ,实现多例;
1,singleton Spring ioc 容器中仅有一个 Bean 实例,Bean 以单例的方式存在;
2,prototype 每次从容器中调用 Bean 时,都返回一个新的实例;非单例模式
3,request 每次 HTTP 请求都会创建一个新的 Bean;
4,session 同一个 HTTP Session 共享一个 Bean;
5,global session 同一个全局 Session 共享一个 Bean,一般用于 Portlet 应用环境;
6,application 同一个 Application 共享一个 Bean;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值