1.Spring ApplicationContext.xml路径如何确定
ApplicationContext context = new ClassPathXmlApplicationContext("/com/mhzhang/test/ApplicationContext.xml");
按照maven的目录结构,放在src/main/java或src/main/resources目录下,可直接获取
ApplicationContext context = new ClassPathXmlApplicationContext("ApplicationContext.xml");
将工程打成jar包后,发现resource下的ApplicationContext.xml直接出现在jar的最上层目录
2.Spring中 集合复用 注入
2.1在spring配置文件中引入名称空间 util
已有p标签的情况下,将字母p变成util
<?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:util="http://www.springframework.org/schema/util" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
Book实体类
```java
package com.mhzhang.test;
import java.util.List;
public class Book {
private List<Book> book;
private String name;
public Book() {
super();
}
public List<Book> getBook() {
return book;
}
public void setBook(List<Book> book) {
this.book = book;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Book [book=" + book + ", name=" + name + "]";
}
}
ApplicationContext.xml
<util:list id="booklist">
<ref bean="book1"></ref>
<ref bean="book2"></ref>
<ref bean="book3"></ref>
</util:list>
<bean id="book1" class="com.mhzhang.test.Book">
<property name="name" value="易筋经"></property>
</bean>
<bean id="book2" class="com.mhzhang.test.Book">
<property name="name" value="如来神掌"></property>
</bean>
<bean id="book3" class="com.mhzhang.test.Book">
<property name="name" value="一指禅"></property>
</bean>
<bean id="bookStore" class="com.mhzhang.test.Book">
<property name="book" ref="booklist"></property>
</bean>
<util:map id="bookmap">
<entry key="book1" value-ref="book1"></entry>
<entry key="book2" value-ref="book2"></entry>
<entry key="book2" value-ref="book2"></entry>
</util:map>
<bean id="book1" class="com.mhzhang.test.Book">
<property name="name" value="易筋经"></property>
</bean>
<bean id="book2" class="com.mhzhang.test.Book">
<property name="name" value="如来神掌"></property>
</bean>
<bean id="book3" class="com.mhzhang.test.Book">
<property name="name" value="一指禅"></property>
</bean>
<bean id="bookStore" class="com.mhzhang.test.Book">
<property name="book" ref="bookmap"></property>
</bean>
测试程序
ApplicationContext context
= new ClassPathXmlApplicationContext("/com/mhzhang/test/ApplicationContext.xml");
Book bookStore = (Book)context.getBean("bookStore");
List<Book> booklist = bookStore.getBook();
System.out.println(booklist);