Spring(二)

Spring_自动装配

在这里插入图片描述


自动装配: 只声明 bean, 而把 bean 之间的关系交给 IOC 容器来完成

我们先来演示手动装配:
在这里插入图片描述


在这里插入图片描述


如果是根据名字来进行自动装配,那么这个时候,名字也是一定要对应上才能自动装配成功:
在这里插入图片描述


而这个就是根据类型来进行自动的装配:
在这里插入图片描述


	<!-- 自动装配: 只声明 bean, 而把 bean 之间的关系交给 IOC 容器来完成 -->
	<!--  
		byType: 根据类型进行自动装配. 但要求 IOC 容器中只有一个类型对应的 bean, 若有多个则无法完成自动装配.
		byName: 若属性名和某一个 bean 的 id 名一致, 即可完成自动装配. 若没有 id 一致的, 则无法完成自动装配
	-->
	<!-- 在使用 XML 配置时, 自动装配用的不多. 但在基于 注解 的配置时, 自动装配使用的较多.  -->
	<bean id="dao" class="com.atguigu.spring.ref.Dao">
		<property name="dataSource" value="C3P0"></property>				
	</bean>
	
	<bean id="service" class="com.atguigu.spring.ref.Service" autowire="byName"></bean>
	
	<bean id="action" class="com.atguigu.spring.ref.Action" autowire="byType"></bean>

还一种就是根据构造器来进行自动装配;
在这里插入图片描述


在xml文件里面配置的Bean自动装配的缺点:
在这里插入图片描述
在实际的开发当中,我们一般会很少用到自动装配;


Spring_Bean之间的关系

在这里插入图片描述


像这样,两个Bean的属性配置有很多的相同的,那么,我们就可以用继承来继承属性:
在这里插入图片描述


我们用parent的这个属性就是可以继承了:
在这里插入图片描述


在这里插入图片描述


若某一个bean的class属性没有指定,那么这个bean就必须是一个抽象的bean
在这里插入图片描述


依赖Bean配置:Bean和Bean之间也是可以配置依赖关系,通过depends-on属性来进行配置
在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


Spring_Bean的作用域

在这里插入图片描述


在这里插入图片描述


Spring_使用外部属性文件

在这里插入图片描述


在这里插入图片描述


首先我们要先导入c3p0连接池和mysql驱动:
在这里插入图片描述


在xml文件里面进行配置:
在这里插入图片描述
我们这样来获取这个数据源:
在这里插入图片描述


现在,我们来用外部文件的方式来进行配置数据源:
在这里插入图片描述


现在,我们要在spring的配置文件里面进行引用这个外部文件里面的属性:
在这里插入图片描述


Spring_SpEL

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


有这么一个需求:
在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


Spring_管理Bean的生命周期

在这里插入图片描述


创建Bean的后置处理器:
在这里插入图片描述


在这里插入图片描述


这个时候,生命周期就一目了然了:
在这里插入图片描述


实际上,我们还可以更细粒度的声明生命周期的方法:需要实现一个接口:BeanPostProcessor接口
在这里插入图片描述


在这里插入图片描述


在这里插入图片描述
接着,我们就在spring的配置文件里面配置这个后置处理器:
在这里插入图片描述
这个时候,生命周期的流程就变成这样了:
在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


Spring_通过工厂方法配置Bean

  • 静态工厂方法
    在这里插入图片描述

在这里插入图片描述


在这里插入图片描述
测试:
在这里插入图片描述


在这里插入图片描述


  • 实例工厂方法
    在这里插入图片描述

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


Spring_通过FactoryBean配置Bean

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


然后,我们在Spring的配置文件里面配置这个Bean就可以了:
在这里插入图片描述


我们配置就可以了:
在这里插入图片描述


测试:
在这里插入图片描述


在这里插入图片描述

Spring_通过注解配置Bean(1)

在这里插入图片描述


在这里插入图片描述


测试:
在这里插入图片描述


在这里插入图片描述


只扫描指定的类:
在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


这个是我们需要注意的地方:
在这里插入图片描述
***在这里插入图片描述


这个是我们需要注意的地方:
在这里插入图片描述


Spring_通过注解配置Bean(2)

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


实际上,这个注解还可以加在入参的前面:
在这里插入图片描述


Spring_泛型依赖注入

在这里插入图片描述


在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值