Spring4学习(一)IoC控制反转也称为DI依赖注入

        Spring核心配置文件app_core.xml,配置文件路径存放在classpath下面的conf/spring目录下,详细配置

<?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">

    <bean id="groupManagerService" class="org.lian.service.impl.GroupManagerServiceImpl">
         <property name="groupManagerDao" ref="groupManagerDao"/>
    </bean>

	<bean id="groupManagerDao" class="org.lian.dao.impl.GroupManagerDaoImpl">
    </bean>
	

</beans>

        Java类Service和Dao

public class GroupManagerServiceImpl implements GroupManagerService {

	private GroupManagerDao groupManagerDao;

	/*
	 * public GroupManagerDao getDao() { return groupManagerDao; }
	 * 
	 * public void setDao(GroupManagerDao dao) { groupManagerDao = dao; }
	 */

	/**
	 * 
	 * @description TODO
	 * @return
	 */
	@Override
	public String getGroup() {
		return groupManagerDao.getGroup();
	}

	public GroupManagerDao getGroupManagerDao() {
		return groupManagerDao;
	}

	public void setGroupManagerDao(GroupManagerDao groupManagerDao) {
		this.groupManagerDao = groupManagerDao;
	}

}

 

public class GroupManagerDaoImpl implements GroupManagerDao {

	@Override
	public String getGroup() {
		return "dao.getGroup()";
	}

}

   Spring IoC 配置起来还是比较容易,需要注意的一点是 此例中采用setter注入,这是一种常用的注入方式。bean中set方法名称要和Spring配置文件中bean property标签中name属性保持一致,在此例中

public void setGroupManagerDao(GroupManagerDao groupManagerDao) {
		this.groupManagerDao = groupManagerDao;
	}

 

<bean id="groupManagerService" class="org.lian.service.impl.GroupManagerServiceImpl">
         <property name="groupManagerDao" ref="groupManagerDao"/>
    </bean>

 与setter方法的形参名称无关。

        简单 测试IoC的方式

public class App {

	public static void main(String[] args) {
		String classPath = "classpath*:conf/spring/app_*.xml";
		// ApplicationContext context = new ClassPathXmlApplicationContext(
		// new String[] { "services.xml", "daos.xml" });
		ApplicationContext context = new ClassPathXmlApplicationContext(classPath);
		GroupManagerService service = context.getBean(GroupManagerService.class);
		System.out.println(service.getGroup());
	}
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值