目录
一、装配的方式
(一)、基于XML的装配
(二)、基于注解的装配
(三)、自动装配
二、具体内容
(一)、基于XML的装配
1、基于XML的注入方式
a.设值注入。
b.构造注入。
2、步骤
(1).设值注入。
a.创建一个实体类,各个属性编写的setter方法。
b.编写XML文件,<bean>标签里面设置id,class。子元素<property>设置name,value属性(name 的名称必须是setter方法的方法名小写。不一致会报错)。
c.创建测试类,通过ClassPathXmlApplicationContext 实例化ApplicationContext容器。
(2).构造注入。
a.创建一个实体类,编写无参构造方法,编写待所有参数的构造方法。
b.编写XML文件,<bean>标签里面设置id,class。子元素<constructor-arg>设置属性index,value。
c.创建测试类,通过ClassPathXmlApplicationContext 实例化ApplicationContext容器。
3、例子
(1)创建一个实体类,各个属性编写的setter方法,名为User。
package com.stx.chapter.XML;
import java.util.List;
public class User {
private String username;
private Integer password;
private List<String> list;
/*
* 1、使用构造注入。
* 1.1、提供带所有参数的有参构造方法。
* */
public User(String username, Integer password, List<String> list) {
this.username = username;
this.password = password;
this.list = list;
}
/*
*2、使用设置注入。
*2.1、提供默认空参构造。
*2.2、为所有属性提供setter方法。
* */
public User() {
}
public void setUsername(String username) {
this.username = username;
}
public void setPassword(Integer password) {
this.password = password;
}
public void setList(List<String> list) {
this.list = list;
}
/*
* 重写toString方法为了能打印结果。
* */
@Override
public String toString() {
return "User{" +
"username='" + username + '\'' +
", password=" + password +
", list=" + list +
'}';
}
}
(2)编写XML文件,<bean>标签里面设置id,class。子元素<property>设置name,value属性,名为:beans5.xml。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 1、基于XML装配Bean,使用构造注入方式装配User实例。-->
<bean id="user1" class="com.stx.chapter.XML.User">
<constructor-arg index="0" value="Tom"></constructor-arg>
<constructor-arg index="1" value="123456"></constructor-arg>
<constructor-arg index="2">
<list>
<value>