SSM3 —— Spring配置文件(二)依赖注入

https://www.bilibili.com/video/BV1WZ4y1P7Bp?p=11 黑马程序员最全SSM框架教程|Spring+SpringMVC+MyBatis全套教程

3.6 Bean的依赖注入分析

业务层调用DAO层

  1. UserService接口
    在这里插入图片描述
  2. 为接口创建1个实现
    在这里插入图片描述
  3. 测试
    在这里插入图片描述
  4. 现在把UserServiceImpl也配置到xml配置文件中
    在这里插入图片描述
  5. 再次测试
    在这里插入图片描述

在这里插入图片描述
但是可以改进为在容器内部注入
在这里插入图片描述
可以使用set方法,也可以使用构造方法
引出依赖注入

3.7 Bean的依赖注入概念

Service需要DAO的依赖注入
在这里插入图片描述
在这里插入图片描述

set方法

在这里插入图片描述
不用从容器中获得DAO了,因为在容器内部已经通过setUserDao获得了,
userDao是容器中的DAO
还需要在配置文件中告诉Spring要把容器中的DAO注入Service
在这里插入图片描述这里的property的name是service里setXxx的xxx(要把第一个X小写),也就是下图的"UserDao",变为"userDao"
在这里插入图片描述
容器中的userDao(①)要通过service里的setUserDao方法(②)注入
在这里插入图片描述
测试:
在这里插入图片描述
但是如果是自己new一个UserServiceImpl的话,就会报错空指针
在这里插入图片描述
也就是save()里的userDao没有new,因为UserServiceImpl是自己new的,不是从容器中拿的,容器中的UserServiceImpl里才有DAO,自己new的里没有
在这里插入图片描述

即service依赖DAO的注入

set方法简便的注入方式——p命名空间
在这里插入图片描述
在这里插入图片描述

有参构造方法

在这里插入图片描述
在这里插入图片描述
ref代表对象引用

3.8 Bean的依赖注入的数据类型

在这里插入图片描述

普通数据类型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

集合数据类型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

list

在这里插入图片描述
在这里插入图片描述

map

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

properties

在这里插入图片描述
在这里插入图片描述

a

xml

<bean id="userDao" class="包名.UserDaoImpl">
	<property name="strList">
		<list>
			<value>aaa</value>
			<value>bbb</value>
			<value>ccc</value>
	</property>
	
	<property name="userMap">
		<map>
			<entry key="u1" value-ref="user1"></entry>
			<entry key="u2" value-ref="user2"></entry>
		</map>
	</property>

	<property name="properties">
		<props>
			<prop key="p1">ppp1</prop>
			<prop key="p2">ppp2</prop>
			<prop key="p3">ppp3</prop>
		</props>
	</property>
	
</bean>

<bean id="user1" class="包名.User">
	<property name="name" value="1"></property>
	<property name="addr" value="2"></property>
</bean>
<bean id="user2" class="包名.User">
	<property name="name" value="1"></property>
	<property name="addr" value="2"></property>
</bean>

3.9 引入其他配置文件(分模块开发)

在这里插入图片描述
之前的配置文件 applicationContext.xml非常庞大,不容易读,且不方便后期维护
那么可以进行相应的拆解,比如按业务模块拆
在这里插入图片描述
然后在主文件中引入
在这里插入图片描述

小结

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值