注入方式
set方法注入【重要的带头大哥】
xml配置
<!-- set方式注入 -->
<!-- 注入user对象 -->
<bean name="user" class="cn.zdfy.domain.User">
<property name="name" value="张大佛爷"></property>
<property name="age" value="25"></property>
<!-- 引用类型注入:为car属性注入下方配置的car对象 -->
<property name="car" ref="car"></property>
</bean>
<!-- 注入car对象 -->
<bean name="car" class="cn.zdfy.c_injection.Car">
<property name="name" value="宝马"></property>
<property name="color" value="黑色"></property>
</bean>
测试代码
ClassPathXmlApplicationContext ac=new ClassPathXmlApplicationContext("cn/zdfy/c_injection/applicationContext.xml");
User u=(User)ac.getBean("user");
System.out.println(u.toString());
测试结果
User [name=张大佛爷, age=25, car=Car [name=宝马, color=黑色]]
p名称空间注入 【不重要】
xml配置
<!-- p命名空间注入
1.导入p命名空间 xmlns:p="http://www.springframework.org/schema/p"
2.使用p: 属性完成注入
|-值类型: p:属性名="值"
|-对象类型: p:属性名-ref="bean"
-->
<bean name="user3" class="cn.zdfy.domain.User" p:name="jack" p:age="20" p:car-ref="car"></bean>
测试代码
ClassPathXmlApplicationContext ac=new ClassPathXmlApplicationContext("cn/zdfy/c_injection/applicationContext.xml");
User u=(User)ac.getBean("user3");
System.out.println(u.toString());
测试结果
User [name=jack, age=20, car=Car [name=宝马, color=黑色]]
spel注入 【不重要】
xml配置
<!-- spel注入 spring Expression Language spring el 表达式
-->
<bean name="user4" class="cn.zdfy.domain.User">
<property name="name" value="#{user.name}"></property>
<property name="age" value="#{user3.age}"></property>
<property name="car" ref="car"></property>
</bean>
测试代码
ClassPathXmlApplicationContext ac=new ClassPathXmlApplicationContext("cn/zdfy/c_injection/applicationContext.xml");
User u=(User)ac.getBean("user4");
System.out.println(u.toString());
测试结果
User [name=张大佛爷, age=20, car=Car [name=宝马, color=黑色]]