Spring学习笔记(二)--属性注入

目录

一、属性注入

1.1 set注入

1.2 构造注入

1.3 P名空间注入

1.4 SpEL注入

1.5 复杂类型注入

二、DI注入

三、分模块配置


 


一、属性注入

给属性设置值

1.1 set注入

属性类需要提供set方法

1.2 构造注入

属性类需要提供构造方法,以重载的形式存在

1.3 P名空间注入

引入p名称空间约束完成属性值的注入

xmlns:p="http://www.springframework.org/schema/p"

QueryItem.java

public class QueryItem {
    private int qid;
    private Product product;
//get、set方法
}

结果:

1.4 SpEL注入

一种类似EL表达式的注入方式#{内容},括号里面可以是字符串、表达式、比较运算(结果Boolean) ---参考文章

1.5 复杂类型注入

数组、list集合、set集合、map集合

数组类型:
application.xml

<!--数组类型-->
    <bean id="query1" class="com.jc.entity.QueryItem">
        <property name="arr">
            <!--list和array均可-->
            <list>
                <value>小红1</value>
                <value>小红2</value>
                <value>小红3</value>
            </list>
        </property>
    </bean>

QueryItem.java

加上arr数组属性private String []arr;

TestApplication

@Test
    public void testIOC(){
        ApplicationContext applicationContext=new ClassPathXmlApplicationContext("application.xml");
//        Product product = (Product) applicationContext.getBean("product");
//        QueryItem queryItem = (QueryItem)applicationContext.getBean("query");
        QueryItem queryItem1 = (QueryItem)applicationContext.getBean("query1");

//        System.out.println(product);
//        System.out.println(queryItem);
        for (String s : queryItem1.getArr()) {
            System.out.println(s);
        }
    }

结果:

集合类型:

 


二、DI注入

DI注入属于属性注入的一种特殊情况。当注入的类型是恰好是一个对象,并且该对象也是由Spring的<bean>管理的,我们就称之为依赖注入(DI)。

常见于dao和service之间,service需要调用dao方法就要创建dao对象,而这个对象是Spring创建的,依赖于之前创建的dao。

 


三、分模块配置

开发中非常常见的一种模式,因为多人对同一个文件进行修改容易产生冲突。

  1. 每个人都有一个Spring的配置文件
  2. 由一个统一的Spring文件对这些文件进行引入
<!--导入其他配置文件:注意路径要写对-->
<import resource="applicationContext-di.xml"></import>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值