Spring依赖注入

Spring对几种常用类型的依赖注入

通过spring对基本类型、引用类型以及常用集合的依赖注入方法。首先创建一个测试类,提供几种测试类型

public class UserDaoImpl {
 	private String testStr; //测试引用类型String
    private int testInt;    //基本类型int
    private List<String> strList; //list集合
    private Map<String,User> userMap; //map集合
    private Properties prop; //Properties集合
}

并为其添加相应的setter方法,idea快捷键alt+insert

基本类型

resource文件夹下创建配置文件applicationContext.xml使用bean标签添加

	//id为getBean时使用的标识符,class为引用的全类名,也就是容器中初始化的类
   <bean id="userDaoImpl" class="it.impl.UserDaoImpl">
  <property name="testInt" value="15"></property> 
   </bean>

使用property标签对属性进行初始化,name为属性名,也就是set方法名去掉set并将剩下的那部分第一个字母小写的名字,一般情况和类中变量相同,但含义并不相同,value为注入的值。
引用类型与基本类型基本一致,举一反三即可
通过实例测试

	@Test
    public void test(){
        ApplicationContext app=new ClassPathXmlApplicationContext("applicationContext.xml");
        UserDao userDao =(UserDao) app.getBean("userDao");
        userDao.getTestInt();
    }

集合

List集合

property标签下添加list标签,list标签中通过value标签即可,多个值多个value标签包裹

<bean id="userDaoImpl" class="it.impl.UserDaoImpl">
        <property name="strList" >
            <list>
                <value>aaa</value>
                <value>bbb</value>
                <value>ccc</value>
            </list>
        </property>
</bean>

Map集合

map集合使用的valueUser类型,所以需要另外创建一个测试类User,变量为int类型的idage,重写toString()方法,添加构造方法。
map比list稍复杂,需要先将User的Bean导入。此处使用构造方法进行初始化。

 <bean id="user" class="it.demo.User" scope="prototype">
 	<constructor-arg name="id" value="1"></constructor-arg>
    <constructor-arg name="age" value="18"></constructor-arg>
    </bean>

在map标签下添加entry标签,标签中key属性即为map的key值,用例为String类型,直接添加字符串即可,value为引用类,需要引用UserBean标签,所以使用value-ref属性。

<bean id="userDaoImpl" class="it.impl.UserDaoImpl">
 <property name="userMap" >
            <map>
                <entry key="user1" value-ref="user"></entry>
                <entry key="user2" value-ref="user"></entry>
            </map>
        </property>
</bean>

Properties集合

较为常用的配置文件的集合类型。与map集合大同小异。

<bean id="userDaoImpl" class="it.impl.UserDaoImpl">
 <property name="prop">
           <props>
               <prop key="p1">ppp</prop>
               <prop key="p2">ddd</prop>
           </props>
        </property>
</bean>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值