1:
通过元素来创建查询路径
Xpath xElementSub = element.createXPath("ns:property");
element.setNamespaceURIs(nsMap);
List<Element> subElements = xElementSub.selectNodes(element); // 注意是 element 不是document
其中property 是相对于element 的相对路径
2:
PropertyDescriptor[] propDesc = Introspector.getBeanInfo(bean.getClass()).getPropertyDescriptors();
ConvertUtils.convert(value,propDesc[0].getPropertyType()); // 转换属性的类型
3:
ProperyDescriptor
Properties props = new Properties();
props.load(this.getClass().getResourceAsStream("相对路径如:config.properties或者:绝对路径: /包名/config.properties")
4:
对于集合的类型的注入:
<property name="sets">
<set>
<value>set1</value>
<value>set2</value>
<value>set3</value>
</set>
</property>
<property name="lists">
<list>
<value>list1</value>
<value>list2</value>
<value>list3</value>
</list>
</property>
<property name="props">
<props>
<prop key="key1">value1</prop>
<prop key="key2">value2</prop>
<prop key="key3">value3</prop>
</props>
</property>
<property name="map">
<map>
<entry key="key-1" value="value-1">
<entry key="key-2" value="value-3">
<entry key="key-2" value="value-3">
</map>
</property>
5:
使用构造器进行bean的配置
(1):在实体bean中创建构造函数
public PersonServiceBean(PersonDao personDao, String name) {
this.personDao = personDao;
this.name = name;
}
(2): 在配置文件中配置,根据构造函数的索引进行配置,索引从0开始
<constructor-arg index="0" ref="personDao"></constructor-arg>
<constructor-arg index="1" value="zhangsan"></constructor-arg>
6:
使用字段Field注入:
@Autowired 默认按类型装配,如果想使用名称装配,可以结合 @Qualifier注解一起使用
eg:
@Autowired @Qualifier("personDaoBean")
private PersonDao personDao;
@Resource 如果指定name属性则根据name,否则按照标注的属性名称进行寻找,
当找不到与名称匹配的bean才会按类型装配,可以用在字段上,也可以用在setter方法上