'dataSource' or 'jdbcTemplate' is required 通过注解的解决方法

本人由于需要大量用到复杂SQL进行查询统计,JPA标准方式不满足情况,需要用到Dao,初易用遇到了大家常见的:

‘dataSource‘ or ‘jdbcTemplate‘ is required,

在网上找了很多解决方式都是通过XML方式增加配置解决,有工程了全部采用注解,尽量不引入XML配置,这里查阅相关资料给出一种通过注解方式解决的方案

@Repository
public class CollectionCarDaoImpl extends  JdbcDaoSupport implements CollectionCarDao {
    private static Logger logger = LoggerFactory.getLogger(SampleDaoImpl.class);

    /**
     * 注入实体管理,需要在WebConfig中通过注解配置
     */
    @PersistenceContext
    private EntityManager em;

    public void setEntityManager(EntityManager entityManager) {
        this.em = entityManager;
    }

    /**
     * 注入dataSource,需要在WebConfig中通过注解配置
     */
    @Autowired
    private DataSource dataSource;

    /**
     * 初始化时,设置给父类
     */
    @PostConstruct
    private void initialize() {
        setDataSource(dataSource);
    }

需要支持@PostConstruct注解

该问题主要比较难解决是因为JdbcDaoSupport限制复写几个关键方法导致,因此系统该思路通过变通方式决绝

'dataSource' or 'jdbcTemplate' is required 通过注解的解决方法

时间: 2024-10-07 06:00:05

'dataSource' or 'jdbcTemplate' is required 通过注解的解决方法的相关文章

idea无法使用注解@Data解决方法

@Data相关依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.6</version> </dependency> 运用@Data注解替代写get,set方法 原文地址:https://www.cnblogs.com/Libbo/p/11974344.html

cocoapods出现Unable to satisfy the following requirements: required by `Podfile`的解决方法

1.尝试更新本地仓库:pod update --verbose  如果不行 2.版本号问题 3.pod repo update —verbose 查看缓存  删除本地缓存,重新setup  rm -fr ~/.cocoapods/repos/master  然后运行 $pod setup 如果出现下面错误 git clone error: RPC failed; result=56, HTTP code = 200 错误解决git config --global http.postBuffer

关于spring4和hibernate4整合,配置事务报“Cannot unwrap to requested type [javax.sql.DataSource]”错误的解决方法及心得

Cannot unwrap to requested type [javax.sql.DataSource] 配置hibernate4和spring4时,出现错误,解决方法: 1.我去了spring4中的事务配置,数据库可以正常执行并访问.如下: <!-- 配置Hibernate  数据事务 --> <bean id="transactionManager" class="org.springframework.orm.hibernate4.Hibernat

springmvc 用注解方式添加事务不生效解决方法

springmvc 事务注册有很多种方法,在此我只mark 用注解方式添加transaction不生效的解决办法. springmvc 注解方法添加事务步骤: 1.在 spring的 root-context.xml (WEB-INF/)文件中添加事物管理: <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager" p:dataSo

在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational)的方法,注解失效的原因和解决方法

在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational)的方法,注解是不会生效的. 比如,下面代码例子中,有两方法,一个有@Transational注解,一个没有.如果调用了有注解的addPerson()方法,会启动一个Transaction:如果调用updatePersonByPhoneNo(),因为它内部调用了有注解的addPerson(),如果你以为系统也会为它启动一个Transaction,那就错了,实际上是没有的. @Service public cla

@Transational)的方法,注解失效的原因和解决方法

在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational)的方法,注解是不会生效的. 比如,下面代码例子中,有两方法,一个有@Transational注解,一个没有.如果调用了有注解的addPerson()方法,会启动一个Transaction:如果调用updatePersonByPhoneNo(),因为它内部调用了有注解的addPerson(),如果你以为系统也会为它启动一个Transaction,那就错了,实际上是没有的. @Service public cla

品Spring:对@Autowired和@Value注解的处理方法

在Spring中能够完成依赖注入的注解有JavaSE提供的@Resource注解,就是上一篇文章介绍的. 还有JavaEE提供的@javax.inject.Inject注解,这个用的很少,因为一般都不会去引用JavaEE的jar包. 编程新说注:JavaEE早已经被Oracle抛弃了.JavaEE这个名字已经成为历史. 还有两个就是@Value和@Autowired注解,这可是Spring自己的亲孩子.所以这两个使用的最多. 虽然注解不一样,但是目的一样,都是用来进行依赖注入,而且Spring处

Value注解的处理方法

品Spring:对@Autowired和@Value注解的处理方法在Spring中能够完成依赖注入的注解有JavaSE提供的@Resource注解,就是上一篇文章介绍的. 还有JavaEE提供的@javax.inject.Inject注解,这个用的很少,因为一般都不会去引用JavaEE的jar包. 编程新说注:JavaEE早已经被Oracle抛弃了.JavaEE这个名字已经成为历史. 还有两个就是@Value和@Autowired注解,这可是Spring自己的亲孩子.所以这两个使用的最多. 虽然

【spring boot+mybatis】注解使用方式(无xml配置)设置自动驼峰明明转换(),IDEA中xxDao报错could not autowire的解决方法

最近使用spring boot+mybatis,使用IntelliJ IDEA开发,记录一些问题的解决方法. 1.在使用@Mapper注解方式代替XXmapper.xml配置文件,使用@Select等注解配置sql语句的情况下,如何配置数据库字段名到JavaBean实体类属性命的自动驼峰命名转换? 使用spring boot后,越来越喜欢用注解方式进行配置,代替xml配置文件方式.mybatis中也可以完全使用注解,避免使用xml方式配置mapper.(参考  springboot(六):如何优