Spring(1)

IOC容器辅助:
简单类型(8个基本+String), value:如果是对象类型,用ref=“引用Id值”

注入的三种模式:
1.set注入:

赋值:默认使用set方法;
依赖注入底层通过反射实现;

2.构造器注入:

通过构造方法赋值;
构造器与书写不一致可以用下面三个方法指定

 <!-- index="0" --> <!-- name="name" --> <!-- type="String" -->
 <constructor-arg value="qgmd" ></constructor-arg>

3.通过P命名空间

<bean id="Course" class="org.qgm.entity.Course" p:cname="qwe" p:teacher-ref="teacher" p:cno="03">

注入集合类型:

List Set Array Map Properties
前三种标签可以混用

细节:

<property name="stuNo" value="1"></property>
<!-- 
等价,value不需要加"",且可以加别的标签
<property name="stuNo">

<value type="int">1</value>
</property>
 -->

且有些特殊符号使用

eg:<用&lt;

子标签

<property name="stuName" >
<value> 1<![CDATA[>]]>2</value>
</property>
空值写标签<null/>

自动装配(只适用于引用类型):
虽然能降低代码量,但是降低可读性
byName:自动寻找:其他bean的id值=改类的属性值
Bytype:其他bean的类型(class),是否与类的ref属性类型一致(只能有一个bean满足条件)
constructor:用构造器的方法进行自动装配,不同是可以写不同的构造器,包含不同的属性值
约定优于配置。

<!-- 
自动装配
course2类中有一个ref属性teacher(属性名),并且ioc容器中有一个bean的id值是teacher
bean的id=类的属性名
 
-->
<bean id="course2" class="org.qgm.entity.Course" autowire="byName">

全局可以在文件头添加:

default-autowire="byName"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值