记录一下今天学习的笔记:
依赖注入有以下几种形式:
配置文件编写实验内容
<?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">
<bean id ="addr" class="helloSpring.di.Address">
<property name="addr" value="关山"></property> <!--set注入,即无参构造函数调用set进行注入-->
</bean>
<bean id ="student" class="helloSpring.di.Student">
<property name="name" value="陈浩南"></property>
<property name="address" ref="addr"></property> <!--bean注入-->
<property name="books">
<array> <!--list注入,对应String[] books-->
<value>傲慢与偏见</value>
<value>仲夏夜之梦</value>
<value>雾都孤儿</value>
</array>
</property>
<property name="hobbies"> <!--对应List<String> hobbies-->
<list>
<value>唱</value>
<value>跳</value>
<value>rap</value>
<value>篮球</value>
</list>
</property>
<property name="card">
<map> <!--对应map<String,String> card-->
<entry key="中国银行" value="123456789"></entry>
<entry>
<key><value>建设银行</value></key>
<value>123456788</value>
</entry>
</map>
</property>
<property name="games">
<set> <!--对应Set<String> games-->
<value>lol</value>
<value>dota</value>
<value>cs</value>
<value>wow</value>
</set>
</property>
<property name="wife"><null></null></property> <!--空注入,对应String wife-->
<property name="info"> <!--对应Properties info-->
<props>
<prop key="学号">123</prop>
<prop key="sex">男</prop>
</props>
</property>
</bean>
<bean id="user" class="helloSpring.di.User" p:name="陈浩南" p:password="hello">
<!--
p命名空间注入:
需要在头文件的命名空间添加
xmlns:p="http://www.springframework.org/schema/p"
属性要设置set方法
-->
</bean>
<bean id="user2" class="helloSpring.di.User" c:name="山鸡" c:password="nihao">
<!--
c命名空间注入:
需要在头文件的命名空间添加
xmlns:p="http://www.springframework.org/schema/c"
-->
</bean>
</beans>
p命名空间和c命名空间其实都是对配置文件编写的简化,p即表示为属性,c表示为构造。
这两个注入形式都可以简化XML配置。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。