Spring学习笔记(二)--属性注入
一、属性注入
给属性设置值
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。
三、分模块配置
开发中非常常见的一种模式,因为多人对同一个文件进行修改容易产生冲突。
- 每个人都有一个Spring的配置文件
- 由一个统一的Spring文件对这些文件进行引入
<!--导入其他配置文件:注意路径要写对--> <import resource="applicationContext-di.xml"></import>
上一篇:
IDEA上Java项目控制台中文乱码