Spring依赖注入的简单示例(基于注解配置)
2013-10-10 12:43
761 查看
1. Spring提供如下几个Annotation来标注Spring Bean。
@Component:标注一个普通的Spring Bean
@Controller:标注一个控制器组件类
@Service:标注一个业务逻辑组件类
@Repository:标注一个DAO组件类
2. 实体:
3. DAO接口:
4. DAO实现:
5. Service接口:
6. Service实现:
7. Spring配置文件applicationContext.xml:
8. 测试用例:
9. 结果输出:
@Component:标注一个普通的Spring Bean
@Controller:标注一个控制器组件类
@Service:标注一个业务逻辑组件类
@Repository:标注一个DAO组件类
2. 实体:
package com.huey.entity; 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 org.springframework.stereotype.Repository; import com.huey.dao.EntityDao; import com.huey.entity.Entity; /** * DAO层实现 * @author Huey2672 * */ @Repository("entityDao") public class EntityDaoImpl implements EntityDao { /** * 添加实体 * @param entity */ public void addEntity(Entity entity) { System.out.println("Add Entity"); } /** * 删除实体 * @param entity */ public void deleteEntity(Entity entity) { System.out.println("Delete Entity"); } /** * 更新实体 * @param entity */ 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 org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.huey.dao.EntityDao; import com.huey.entity.Entity; import com.huey.service.EntityServ; /** * Service层实现 * @author Huey2672 * */ @Service("entityServ") public class EntityServImpl implements EntityServ { // 自动装配 @Autowired private EntityDao entityDao; public EntityDao getEntityDao() { return entityDao; } public void setEntityDao(EntityDao entityDao) { this.entityDao = entityDao; } /** * 添加实体 * @param entity */ public void addEntity(Entity entity) { entityDao.addEntity(entity); } /** * 删除实体 * @param entity */ public void deleteEntity(Entity entity) { entityDao.deleteEntity(entity); } /** *更新实体 * @param entity */ 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" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <!-- 自动扫描指定包及其子包下的所有Bean类 --> <context:component-scan base-package="com.huey"/> </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
相关文章推荐
- Spring依赖注入的简单示例(基于XML文件配置)
- Spring aop 简单示例——基于XML配置和基于注解配置
- 框架 day36 Spring3 入门,DI依赖注入,装配bean基于xml/注解, 整合Junit4,配置约束自动提示
- spring注解基于Annotation的依赖注入配置笔记
- 零配置 之 12.2 注解实现Bean依赖注入 ——跟我学spring3
- spring-依赖注入的注解配置
- Spring 基于注解装配依赖对象和引用外部文件读取数据库配置
- spring 框架中的依赖注入(IOC--设值注入)--使用注解--的具体实例的简单实现
- 【第十二章】零配置 之 12.2 注解实现Bean依赖注入 ——跟我学spring3
- spring反转控制IOC或依赖注入之简单示例
- java web之路 spring 基于@Autowried注解的依赖注入
- spring 框架中的依赖注入(IOC--设值注入)---使用xml简单配置文件---的具体实例的简单实现
- MyBatis 基于注解的增删改查示例(Spring IOC注入)
- 【第十二章】零配置 之 12.2 注解实现Bean依赖注入 ——跟我学spring3
- Spring零配置通过注解实现Bean依赖注入总结<转>
- Spring面向切面的简单示例(基于Annotation配置)
- SSM简单整合(Mybatis,Spring,SpringMVC,基于注解和xml文件配置)
- Spring面向切面的简单示例(基于XML文件配置)
- Spring源码解析-基于注解依赖注入
- spring、IoC控制反转和DI依赖注入入门、基于XML的Bean装配、基于注解的Bean装配