2 u012380967 u012380967 于 2016.04.29 10:16 提问

@autowire在非jersey服务类中不注入(spring+jersey_mybatis) 5C

使用@autowired可以在jersey的服务类中注入,但是在其它类中就无法注入,显示@autowired的对象为空。

spring.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"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:util="http://www.springframework.org/schema/util"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd
        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.1.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd">

    <!-- 自动将包前缀为cc.rinoux.server.*的包中以@Service@Component@Controller标注的类注册为bean
            在jersey中,ResourceConfig的实现类将服务所在的包注册(***packages("cc.rinoux.server.service");***)
            相当于为包中类添加了@Component注解 -->
    <context:component-scan base-package="cc.rinoux.server.*" />    
        <context:component-scan base-package="cc.rinoux.server.mina.handler" /> 
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> 
        <!-- 本地数据库配置 -->
 略

    </bean>
    <!-- sqlSessionFactoryBean相当于sqlSrssionFactoryBuilder,在mybatis-spring用法中,
    无需直接使用bean或sqlsessionFactory,session工厂将会被注入到MapperFactoryBean或
    其它扩展了sqlSessionSupport的DAO
     -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
      <property name="dataSource" ref="dataSource" />
      <property name="configLocation" value="classpath:mybatis.xml"></property>
      <!-- 将mapper包中所有文件和XXXmapper.xml文件对应起来 -->
      <property name="mapperLocations" value="classpath:mapper/*.xml" />
    </bean>
    <!-- dao 自动扫描mapper中的DAO,并注册为bean-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
      <property name="basePackage" value="cc.rinoux.server.mapper" />
    </bean>
    <!--  -->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
      <property name="dataSource" ref="dataSource"/>
    </bean>
    <!-- 注解方式配置事务 -->
    <tx:annotation-driven transaction-manager="transactionManager" />


</beans>

1个回答

u012587693
u012587693   2016.04.29 16:51

报的什么错?贴出来看看

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
jersey和spring集成,不能注入service的问题解决方法
package cn.mykoo.ws.resources; import java.io.File; import java.io.FileInputStream; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces
解决Jersey中使用@Resource注解无法获取bean
使用Jersey1.19 + Spring 3 构建REST Web Service时,遇到的bean无法注入的问题。 在之前的文章http://blog.csdn.net/zijia889149650/article/details/48758563中,我说过没有找到Jersey 和 spring的整合方法,在今天的例子中,我是在SSH的架构的基础上整合进的Jersey,所以就避免不了要在se
springMVC中非Controller下的@Autowire为null
http://www.tpyyes.com/a/javaweb/2016/1124/30.html
spring整合Jersey 无法注入service的问题
原因:         造成该问题的原因是你并没有zhespring和jersey
Spring如何实现自动依赖注入-------autowire
y 【问题描述】当我们在使用Spring的IOC功能的时候,Spring提供了集中注入方式:属性注入,构造函数注入和工厂方法注入,我们更多的时候是使用的属性注入,即set方法注入。使用set方法注入要求我们在写bean的配置文件的时候,需要我们手动设置properties。诸如: [java] view plaincopy "1
springboot 在@Autowire无法注入bean时的临时处理办法
问题由来:在用netty写一个网络编程项目的时候,需要用到mongoTemplate这个springdata提供的mongodb的操作类。但是这个只能由springboot来注入,但是netty又会进行new操作,使得@Autowire无法正常工作。解决方案:1.我看网上的教程,有spring.xml来显式注入的,但这个有点麻烦。 2.还有几个教程没看懂 比如 http://blog.csdn.n
基于Spring+SpringMVC+Hibernate框架系统, 利用SpringAOP实现写日志,切入点的Controller层出现@AutoWire 注入Service为null的情况分析
基于Spring+SpringMVC+Hibernate框架系统, 利用SpringAOP实现写日志,切入点的Controller层出现@AutoWire 注入Service为null的情况分析 最近为了拓展系统,增加了对Controller层写日志的功能,实现方式是基于Spring的AOP来实现的,具体的实现方法我就写了,网上一大堆实现过程。整个实现过程一开始非常快速简单,而且运行基本没有
Spring用@Autowire向一个类注入一个接口的两个实现类
@Service public class AaaService implements IChangePassword { @Override public void changePassword(String username, String password) { } } @Service public class BbbService implements IC
spring与springboot中,如何在static方法里用@Autowire或者@Resource注入的属性
问题:我原本想在5的位置用成员变量2,但是因为位置5所在的方法时static的,怎么办?? 第一步:在位置1写注解@Component 使当前类成为一个bean对象。(@Controller,@service都行) 第二步:在位置3写个static的变量 第三步:写个@PostConstruct注解注解注释的方法,在这个方法里,将位置2的值赋值给位置3. 第四步:就可以在位置5处用位置
关于junit单元测试无法注入问题
想测试几个controller结果注入失败。。。。