Spring 配置文件中的依赖注入
一、依赖注入 对象引用注入:
1.set方法注入
Service类定义BaseDao对象(属性),设置set方法,并在配置文件中配置注入 name为对象bean(类名) ref为容器中已有的bean的id, 在获得Service的bean对象时,容器为其属性BaseDao赋值
业务层次需要有set方法
package com.z.service.Impl;
import com.z.dao.BaseDao;
import com.z.service.UserService;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class UserServiceImpl implements UserService {
private BaseDao baseDao;public void setBaseDao(BaseDao baseDao) {
this.baseDao = baseDao;
System.out.println("注入");
}
//通过set方法,依赖注入
@Override
public void say() {
this.baseDao.say();
}
xml配置
2Service类定义BaseDao对象(属性),设置set方法,并在配置文件中配置注入 name需要set方法名set后一致,的首字母大小写都可以, ref为容器中已有的bean的id
3 通过p标签简写
输入结果:
无参构造
注入
hello spring!
2.构造方法注入
业务层次需要有构造方法,有参注入BaseDao,以及无参构造方法
private BaseDao baseDao;
public UserServiceImpl(BaseDao baseDao) {
this.baseDao=baseDao;
}
xml配置
其中name为构造方法在容器中的名称(随意),ref为ref为容器中已有的bean的id
二、依赖注入 普通类型注入:
public class UserServiceImpl implements UserService {
private String sname;
public void setSname(String sname) {
this.sname = sname;
System.out.println("注入");
}
@Override
public void say() {
System.out.println(this.sname+sname);
}
}
xml配置
其中name需要set方法名set后一致,的首字母大小写都可以。
三、依赖注入 集合数据注入:
package com.z.service.Impl;
import com.z.pojo.User;
import com.z.service.UserService;
import java.util.List;
import java.util.Map;
import java.util.Properties;
public class UserServiceImpl implements UserService {
private List stringList;
private Map<String, User> userMap;
private Properties properties;
public void setStringList(List stringList) {
this.stringList = stringList;
}
public void setUserMap(Map<String, User> userMap) {
this.userMap = userMap;
}
public void setProperties(Properties properties) {
this.properties = properties;
}
@Override
public void say() {
System.out.println(stringList);
System.out.println(userMap);
System.out.println(properties);
}
}
xml配置
a
b
c
p1value
p2value
p3value
配置文件引入
xml配置

浙公网安备 33010602011771号