1. 建立工程,导入Spring所需的jar包。
2. 实体:
package com.huey.entity;
/**
* 实体
* @author Huey2672
*
*/
public class Entity {
public Entity() {
}
}
3. DAO接口:
package com.huey.dao;
import com.huey.entity.Entity;
/**
* DAO层接口
* @author Huey2672
*
*/
public interface EntityDao {
/**
* 添加实体
* @param entity
*/
public void addEntity(Entity entity);
/**
* 删除实体
* @param entity
*/
public void deleteEntity(Entity entity);
/**
* 更新实体
* @param entity
*/
public void updateEntity(Entity entity);
}
4. DAO实现:
package com.huey.dao.impl;
import com.huey.dao.EntityDao;
import com.huey.entity.Entity;
/**
* DAO层实现
* @author Huey2672
*
*/
public class EntityDaoImpl implements EntityDao {
/**
* 添加实体
* @param entity
*/
@Override
public void addEntity(Entity entity) {
System.out.println("Add Entity");
}
/**
* 删除实体
* @param entity
*/
@Override
public void deleteEntity(Entity entity) {
System.out.println("Delete Entity");
}
/**
* 更新实体
* @param entity
*/
@Override
public void updateEntity(Entity entity) {
System.out.println("Upadte Entity");
}
}
5. Service接口:
package com.huey.service;
import com.huey.entity.Entity;
/**
* Service层接口
* @author Huey2672
*
*/
public interface EntityServ {
/**
* 添加实体
* @param entity
*/
public void addEntity(Entity entity);
/**
* 删除实体
* @param entity
*/
public void deleteEntity(Entity entity);
/**
* 更新实体
* @param entity
*/
public void updateEntity(Entity entity);
}
6. Service实现:
package com.huey.service.impl;
import com.huey.dao.EntityDao;
import com.huey.entity.Entity;
import com.huey.service.EntityServ;
/**
* Service层实现
* @author Huey2672
*
*/
public class EntityServImpl implements EntityServ {
private EntityDao entityDao;
public EntityDao getEntityDao() {
return entityDao;
}
public void setEntityDao(EntityDao entityDao) {
this.entityDao = entityDao;
}
/**
* 添加实体
* @param entity
*/
@Override
public void addEntity(Entity entity) {
entityDao.addEntity(entity);
}
/**
* 删除实体
* @param entity
*/
@Override
public void deleteEntity(Entity entity) {
entityDao.deleteEntity(entity);
}
/**
*更新实体
* @param entity
*/
@Override
public void updateEntity(Entity entity) {
entityDao.updateEntity(entity);
}
}
7. Spring配置文件applicationContext.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-3.0.xsd">
<!-- 配置Bean实例,id指定bean的唯一标识,class指定bean的实现类 -->
<bean id="entityDao" class="com.huey.dao.impl.EntityDaoImpl" />
<bean id="entityServ" class="com.huey.service.impl.EntityServImpl">
<!-- property元素定义bean中的属性 -->
<!-- name指定属性名,将上面定义的entityDao注入 -->
<property name="entityDao" ref="entityDao"/>
</bean>
</beans>
8. 测试用例:
package com.huey.test;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.huey.service.EntityServ;
import com.huey.service.impl.EntityServImpl;
/**
* 测试用例
* @author Huey2672
*
*/
public class SpringTest {
@Test
public void testIoc() throws Exception {
// 创建Spring容器
ApplicationContext appCtx =
new ClassPathXmlApplicationContext("applicationContext.xml");
// 通过容器获得EntityServ的实例
EntityServ entityServ = appCtx.getBean("entityServ", EntityServImpl.class);
entityServ.addEntity(null);
entityServ.deleteEntity(null);
entityServ.addEntity(null);
}
}
9. 结果输出:
Add Entity
Delete Entity
Add Entity