注入基本类型
public UserDaoImpl(String name){
this.name = name;
}
<bean id="userDao" class="com.spring.firstday.UserDaoImpl" destroy-method="">
<constructor-arg name="name" value="Hello"></constructor-arg>
</bean>
注入引用类型
public class UserDaoImpl implements UserDao{
private String name;
public UserDaoImpl(String name){
this.name = name;
}
public void save() {
System.out.println("My name is " + name);
}
public String toString() {
return "UserDaoImpl [name=" + name + "]";
}
}
public class UserServiceImpl implements UserService{
private UserDao ud;
public UserServiceImpl(UserDao ud) {
this.ud = ud;
}
public void save() {
System.out.println(ud);
}
}
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
public static void main(String[] args) {
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
UserService us = (UserService)ac.getBean("userService");
us.save();
}
}
<bean id="userDao" class="com.spring.firstday.UserDaoImpl">
<constructor-arg name="name" value="Hello"></constructor-arg>
</bean>
<bean id="userService" class="com.spring.firstday.UserServiceImpl">
<constructor-arg name="ud" ref="userDao"></constructor-arg>
</bean>
注入数组
public class UserDaoImpl implements UserDao{
String []strs;
public UserDaoImpl(String []strs){
this.strs = strs;
}
public String toString() {
return "UserDaoImpl [strs=" + Arrays.toString(strs) + "]";
}
public void save() { }
}
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
public static void main(String[] args) {
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
UserDao ud = (UserDao)ac.getBean("userDao");
System.out.println(ud);
}
}
<bean id="userDao" class="com.spring.firstday.UserDaoImpl">
<constructor-arg name="strs">
<list>
<value>aaa</value>
<value>bbb</value>
</list>
</constructor-arg>
</bean>
注入List
import java.util.List;
public class UserDaoImpl implements UserDao{
List<String> list;
public UserDaoImpl(List<String> list){
this.list = list;
}
public String toString() {
return "UserDaoImpl [list=" + list + "]";
}
public void save() { }
}
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
public static void main(String[] args) {
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
UserDao ud = (UserDao)ac.getBean("userDao");
System.out.println(ud);
}
}
<bean id="userDao" class="com.spring.firstday.UserDaoImpl">
<constructor-arg name="list">
<list>
<value>aaa</value>
<value>bbb</value>
</list>
</constructor-arg>
</bean>
注入Vector
public class UserDaoImpl implements UserDao{
Vector<String> vector;
public UserDaoImpl(Vector<String> vector){
this.vector = vector;
}
public String toString() {
return "UserDaoImpl [vector=" + vector + "]";
}
public void save() { }
}
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
public static void main(String[] args) {
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
UserDao ud = (UserDao)ac.getBean("userDao");
System.out.println(ud);
}
}
<bean id="userDao" class="com.spring.firstday.UserDaoImpl">
<constructor-arg name="vector">
<list>
<value>aaa</value>
<value>bbb</value>
</list>
</constructor-arg>
</bean>
注入Set
import java.util.Set;
public class UserDaoImpl implements UserDao{
Set<String> set;
public UserDaoImpl(Set<String> set){
this.set = set;
}
public String toString() {
return "UserDaoImpl [set=" + set + "]";
}
public void save() { }
}
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
public static void main(String[] args) {
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
UserDao ud = (UserDao)ac.getBean("userDao");
System.out.println(ud);
}
}
<bean id="userDao" class="com.spring.firstday.UserDaoImpl">
<constructor-arg name="set">
<set>
<value>bb</value>
<value>aa</value>
<value>cc</value>
</set>
</constructor-arg>
</bean>
注入Map
import java.util.Map;
public class UserDaoImpl implements UserDao{
Map<String, String> map;
public UserDaoImpl(Map<String, String> map){
this.map = map;
}
public String toString() {
return "UserDaoImpl [map=" + map + "]";
}
public void save() { }
}
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
public static void main(String[] args) {
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
UserDao ud = (UserDao)ac.getBean("userDao");
System.out.println(ud);
}
}
<bean id="userDao" class="com.spring.firstday.UserDaoImpl">
<constructor-arg name="map">
<map>
<entry key="aa" value="11"></entry>
<entry key="bb" value="22"></entry>
</map>
</constructor-arg>
</bean>
注入二维数组
import java.util.Arrays;
public class UserDaoImpl implements UserDao{
String [][]strs;
public UserDaoImpl(String [][]strs){
this.strs = strs;
}
public String toString() {
return Arrays.deepToString(strs);
}
public void save() { }
}
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
public static void main(String[] args) {
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
UserDao ud = (UserDao)ac.getBean("userDao");
System.out.println(ud);
}
}
<bean id="userDao" class="com.spring.firstday.UserDaoImpl">
<constructor-arg name="strs">
<list>
<list>
<value>aaa</value>
<value>bbb</value>
</list>
<list>
<value>ccc</value>
<value>ddd</value>
</list>
</list>
</constructor-arg>
</bean>
注入Vector<Vector>
import java.util.Vector;
public class UserDaoImpl implements UserDao{
Vector<Vector<String>> vv;
public UserDaoImpl(Vector<Vector<String>> vv){
this.vv = vv;
}
public String toString() {
return "UserDaoImpl [vv=" + vv + "]";
}
public void save() { }
}
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
public static void main(String[] args) {
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
UserDao ud = (UserDao)ac.getBean("userDao");
System.out.println(ud);
}
}
<bean id="userDao" class="com.spring.firstday.UserDaoImpl">
<constructor-arg name="vv">
<list>
<list>
<value>aaa</value>
<value>bbb</value>
</list>
<list>
<value>ccc</value>
<value>ddd</value>
</list>
</list>
</constructor-arg>
</bean>
注入List,但泛型是引用变量
import java.util.Vector;
public class UserDaoImpl implements UserDao{
Vector<Vector<String>> vv;
public UserDaoImpl(Vector<Vector<String>> vv){
this.vv = vv;
}
public String toString() {
return "UserDaoImpl [vv=" + vv + "]";
}
public void save() { }
}
import java.util.List;
public class UserServiceImpl implements UserService{
private List<UserDao> uds;
public UserServiceImpl(List<UserDao> uds) {
this.uds = uds;
}
public void save() {
System.out.println(uds);
}
public String toString() {
return "UserServiceImpl [uds=" + uds + "]";
}
}
<bean id="userDao" class="com.spring.firstday.UserDaoImpl">
<constructor-arg name="vv">
<list>
<list>
<value>aaa</value>
<value>bbb</value>
</list>
<list>
<value>ccc</value>
<value>ddd</value>
</list>
</list>
</constructor-arg>
</bean>
<bean id="userService" class="com.spring.firstday.UserServiceImpl">
<constructor-arg name="uds">
<list>
<ref bean="userDao"/>
<ref bean="userDao"/>
</list>
</constructor-arg>
</bean>
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
public static void main(String[] args) {
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
UserService us = (UserService)ac.getBean("userService");
System.out.println(us);
}
/*Console:
* UserServiceImpl [uds=[UserDaoImpl [vv=[[aaa, bbb], [ccc, ddd]]], UserDaoImpl [vv=[[aaa, bbb], [ccc, ddd]]]]]
* */
}
注入Map,但key和value是引用变量
public class UserDaoImpl implements UserDao{
Vector<Vector<String>> vv;
public UserDaoImpl(Vector<Vector<String>> vv){
this.vv = vv;
}
public String toString() {
return "UserDaoImpl [vv=" + vv + "]";
}
public void save() { }
}
import java.util.Map;
public class UserServiceImpl implements UserService{
private Map<UserDao, UserDao> map;
public UserServiceImpl(Map<UserDao, UserDao> map) {
this.map = map;
}
public void save() { }
public String toString() {
return "UserServiceImpl [map=" + map + "]";
}
}
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
public static void main(String[] args) {
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
UserService us = (UserService)ac.getBean("userService");
System.out.println(us);
}
/*Console:
* UserServiceImpl [map={UserDaoImpl [vv=[[aaa, bbb], [ccc, ddd]]]=UserDaoImpl [vv=[[aaa, bbb], [ccc, ddd]]]}]
* */
}
<bean id="userDao" class="com.spring.firstday.UserDaoImpl">
<constructor-arg name="vv">
<list>
<list>
<value>aaa</value>
<value>bbb</value>
</list>
<list>
<value>ccc</value>
<value>ddd</value>
</list>
</list>
</constructor-arg>
</bean>
<bean id="userService" class="com.spring.firstday.UserServiceImpl">
<constructor-arg name="map">
<map>
<entry key-ref="userDao" value-ref="userDao"></entry>
<entry key-ref="userDao" value-ref="userDao"></entry>
</map>
</constructor-arg>
</bean>
List中注入Map
import java.util.List;
import java.util.Map;
public class UserDaoImpl implements UserDao{
private List<Map<String, String>> list;
public UserDaoImpl(List<Map<String, String>> list){
this.list = list;
}
public String toString() {
return "UserDaoImpl [list=" + list + "]";
}
public void save() { }
}
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
public static void main(String[] args) {
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
UserDao ud = (UserDao)ac.getBean("userDao");
System.out.println(ud);
}
}
<bean id="userDao" class="com.spring.firstday.UserDaoImpl">
<constructor-arg name="list">
<list>
<map>
<entry key="aa" value="11"></entry>
</map>
<map>
<entry key="bb" value="22"></entry>
</map>
</list>
</constructor-arg>
</bean>