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配置



![ 目录结构.png]( https://img2022.cnblogs.com/blog/2911328/202207/2911328-20220704214014524-538871621.png

posted @ 2022-07-04 21:41  1906zz  阅读(183)  评论(0)    收藏  举报