`

spring注解方式baseService中如何注入baseDao的问题

    博客分类:
  • java
阅读更多
public abstract class BaseDao<E extends BaseEntity> extends JpaDaoSupport {

    /**
     * 创建实体
     * 
     * @param entity
     */
    public void insert(E entity) {
        entity.setCreateTime(DateTimeUtil.currentTime());
        getEntityManager().persist(entity);
    }
}
 
@Transactional(propagation=Propagation.REQUIRED)
public abstract class BaseService<E extends BaseEntity> {
	
	protected BaseDao<E> dao;

	public void setDao(BaseDao<E> dao) {
		this.dao = dao;
	}

	public BaseDao<E> getDao() {
		return dao;
	}
	/*
	 * 新增
	 */
	public void insert(E obj) {
		dao.insert(obj);
	}

}
 
@Repository("reasonDao")
public class ReasonDao extends BaseDao<Reason> {

}
 
public interface ReasonService extends IBaseService<Reason> {

}
 
@Transactional
@Service("reasonService")
public class ReasonServiceImpl extends BaseService<Reason> implements ReasonService {

    @Resource(name = "reasonDao")
    private ReasonDao reasonDao;

    }
 
@Transactional
@Service("reasonService")
public class ReasonServiceImpl extends BaseService<Reason> implements ReasonService {

    @Resource(name = "reasonDao")
    private ReasonDao reasonDao;
    
     @Resource(name = "reasonDao")
    public void setDao(BaseDao<Reason> dao) {
        super.setDao(dao);
    }
}
分享到:
评论

相关推荐

    java泛型BaseDao与BaseService

    在Java开发中,BaseDao和BaseService是常见的设计模式,用于实现数据访问层(DAO)和业务逻辑层(Service)的抽象基类。通过结合泛型,我们可以创建更通用、灵活的代码,减少冗余并提高代码质量。 首先,我们来理解...

    spring注解

    在上面的代码中,`@Resource`注解表示Spring会尝试通过字段名`baseDao`查找对应的bean进行注入。如果添加`name`属性,如`@Resource(name="baseDao")`,则会按指定名称查找。`@Autowired`注解则基于类型自动匹配并...

    springMVC + Hibernate 工程模板

    BaseService里注入BaseDao 和transactionTemplate(用于编程式事务处理,只用于特殊需要,因为已经存在配置式事务,一般符合命名的方法会自动创建事务) 其他功能: shown工具包 - 图片上传,分页 urlRewrite - ...

    spring4.0 Generic Qualifier(泛型限定).docx

    为了注入具体的DAO实现,例如`OrganizationService`,我们通常需要一个setter方法`setDao(BaseDao&lt;M&gt; repository)`,然后使用@Autowired注解来注入对应的DAO。这种做法存在一个问题,即无法直接在编译时检查依赖注入...

    SSH集成例子(积分管理,Spring2.5,Struts2,Hibernate3.3)

    在这个积分管理系统中,使用了BaseService和BaseDao的设计模式。BaseService通常包含了通用的服务方法,比如CRUD操作,而BaseDao则提供了数据库操作的模板方法。这样的设计可以减少代码的重复性,提高开发效率,因为...

    java javascript

    在BaseService中,通过setDaoBase方法注入Dao,确保BaseService能操作特定的实体。 3. **DAO层**: DAO层负责与数据库的交互,实现数据的CRUD操作。DAO通常继承自DaoBase,DaoBase提供了基于NameSpace的查询方法。...

    Spring4Mybatis:这是一个Spring MVC + Mybatis 的项目,不仅仅只是简单的demo或是增删改查,她将含括很多的方面:尽量抽取basedao,baseService公共部分,做出一个简单的framework,为以后分布式开发提供基础

    这是一个Spring MVC + Mybatis 的项目,不仅仅只是简单的demo或是增删改查,她将含括很多的方面:尽量抽取basedao,baseService公共部分,做出一个简单的framework,为以后分布式开发提供基础。 ##内容 Spring的国际...

    Spring实战之@Autowire注解用法详解

    @Autowire是Spring框架中一个非常重要的注解,用于自动装配Bean。下面将详细介绍@Autowire注解的用法和相关实现步骤。 首先,需要在项目中配置Spring框架。可以通过在XML文件中配置Bean来实现。例如: ```xml ...

    spring集成 tk.mybatis插件

    在实际应用中,可以通过Spring的@Autowired注解来注入Mapper接口,然后在业务逻辑中调用其提供的方法进行数据库操作。通过编写JUnit测试,验证tk.mybatis的功能是否正常工作。 总结,Spring 4.0集成tk.mybatis插件...

    mybatis_plus动态注解案例

    在Service层,我们可以结合MyBatis-Plus的BaseService和BaseMapper来进一步利用动态注解。例如,通过`baseMapper.selectOne()`或`baseMapper.selectList()`方法,我们可以轻松地实现对查询结果的处理。 总之,...

    JAVA代码生成器源码-基于SSM架构

    在SSM中,Spring作为容器管理服务对象,如DAO和Service,通过配置文件或注解实现依赖注入。 2. **Spring MVC**:Spring的Web MVC模块,用于处理HTTP请求和响应。它提供了一种模型-视图-控制器(MVC)的设计模式,使...

    spring mvc学习笔记

    ### Spring MVC 学习笔记之 AOP 面向切面编程详解 #### 一、AOP 概念概述 面向切面编程(Aspect Oriented Programming...通过这种方式,可以有效地将这些横切关注点从业务逻辑中分离出来,使代码更加清晰和易于维护。

    spring-pluggable:实现 bean 插件的简单框架(可以在运行时自动将其他 bean 注入其中的 bean)

    Spring 框架是 Java 开发中的一个核心组件,它提供了强大的依赖注入(Dependency Injection,简称 DI)功能,使得开发者可以轻松地管理对象及其依赖关系。"spring-pluggable" 是 Spring 框架的一个特性,它允许在...

    springboot多数据源连接

    在Spring Boot应用中,多数据源连接是一种常见的需求,尤其在大型系统中,可能需要连接到不同的数据库以实现数据隔离、读写分离或是利用不同类型的数据库特性。本项目提供了实现这一功能的示例,可以直接使用,同时...

    通用后台管理系统(ExtJS 5.1 + Hibernate 4.1.7 + Spring MVC 3.2.8).docx

    在代码结构上,系统采用了分层设计,包括BaseParameter、ExtJSBaseController、BaseService和BaseDao,封装了模型层、控制层、业务逻辑层和数据持久层的通用操作。ListView、PageView和QueryResult用于后台分页处理...

    整合maven+spring+springmvc+mybatis实现ssm通用增删查改API

    通过Mapper接口和XML或注解方式的映射文件,开发者可以方便地执行SQL,获取或更新数据。 在项目中封装通用的增删查改API,通常会涉及到以下步骤: 1. 创建基类:定义一个BaseService或者BaseMapper基类,包含通用...

    ssh框架完美整合

    在"ssh框架完美整合"中,我们通常会创建一个BaseService或BaseDAO的父类,将共用的功能抽取出来,比如数据源配置、事务管理等。这样,子类只需继承这个父类,就能自动获得这些功能,大大减少了重复代码,提高了代码...

    XXF.BaseService.DistributedCache-BSF-DistributedCache.zip

    总的来说,XXF.BaseService.DistributedCache是一个全面的.NET分布式缓存解决方案,它提供了集群化、容错性、多存储后端支持以及丰富的操作接口,旨在帮助开发者轻松应对大规模分布式环境下的缓存管理问题。...

    base_springboot简单实例_源码

    2. **主程序**:主程序类通常包含`@SpringBootApplication`注解,这个注解结合了`@Configuration`、`@EnableAutoConfiguration`和`@ComponentScan`,启动Spring Boot的应用。 3. **配置文件**:配置文件...

Global site tag (gtag.js) - Google Analytics