依赖
指Bean对象的创建依赖于容器 . Bean对象的依赖资源 .
注入
指Bean对象所依赖的资源 , 由容器来设置和装配 .
例如下面的beans.xml文件
两种命名空间注入
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:c="http://www.springframework.org/schema/c"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--p命名空间注入 直接注入属性的值 property-->
<bean id="user" class="com.qi.pojo.User" p:name="奇豆" p:age="20"/>
<!--c命名空间注入 可以通过构造器注入 construct-args-->
<bean id="user2" class="com.qi.pojo.User" c:age="18" c:name="Qiddo"/>
</beans>
各种注入方式
1、常量注入
2、Bean注入
3、数组注入
4、List注入
5、Map注入
6、set注入
7、Null注入
8、Properties注入
<?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="address" class="com.qi.pojo.Address">
<property name="address" value="火星"/>
</bean>
<bean id="student" class="com.qi.pojo.Student">
<!--第一种:普通值注入-->
<property name="name" value="Qiddo"/>
<!--第二种:Bean注入(使用ref)-->
<property name="address" ref="address"/>
<!--数组注入-->
<property name="books">
<array>
<value>《红楼梦》</value>
<value>《三国演义》</value>
<value>《西游记》</value>
<value>《水浒传》</value>
</array>
</property>
<!--List注入-->
<property name="hobbies">
<list>
<value>听歌</value>
<value>敲代码</value>
<value>看电影</value>
</list>
</property>
<!--Map-->
<property name="card">
<map>
<entry key="身份证" value="321284200407310000"/>
<entry key="银行卡" value="1234567890123456789"/>
</map>
</property>
<!--set注入-->
<property name="games">
<set>
<value>LOL</value>
<value>BOB</value>
<value>COC</value>
</set>
</property>
<!--null-->
<property name="wife">
<null/>
</property>
<!--properties-->
<property name="info">
<props>
<prop key="driver">***</prop>
<prop key="url">***</prop>
<prop key="username">root</prop>
<prop key="password">******</prop>
</props>
</property>
</bean>
</beans>
运行结果注入成功
Student{
name='Qiddo',
address=Address{address='宿迁'},
books=[《红楼梦》, 《三国演义》, 《西游记》, 《水浒传》],
hobbies=[听歌, 敲代码, 看电影],
card={
身份证=321284200407310000,
银行卡=1234567890123456789},
games=[ LOL,
BOB,
COC],
wife='null',
info={ password=******,
url=***,
driver=***,
username=root}
}