-
spring 使用注解 对象为空 急求解啊5
web下配置了spring之后,applicationContext.xml文件如下:
<context:annotation-config />
<!-- 指定了需要扫描的类包 -->
<context:component-scan base-package="com.huawei.iread.portal.*" />
我现在对应包下面的类中使用注解标签。如下:
@Autowired
private TestUserService testUserService;
@Autowired
private MybatisTestDao mybatisTestDao;
这里一直是空值,我手动取值
MybatisTestDao dao1=new XmlBeanFactory(new ClassPathResource("applicationContext.xml")).getBean(MybatisTestDao.class);
System.out.println(dao1);这里是有值的,就是说这样去读取配置文件的配置,扫描注解是有效的,因为MybatisTestDao 在扫描包的范围内,但是tomcat启动之后,再去注解这个对象,就拿不到值了,不管什么对象,都是空值,我想应该不是标签无效吧,现在可以确定就是实体都被扫描到了,就是不知道为什么一直注入不进去,空值,求各位大侠帮助,小弟万分感谢
问题补充:通过查看日志,确定spring扫描出了所有配置了注解标签的类对象,但是就是通过@autowired标签注入不进来,启动的时候,这个标签标记的类变量是没有报错的,说明找到了对应的bean,说明spring加载是成功的,但是就是这个值在程序启动后访问的时候为空,求好心人帮忙解决。2012年10月17日 17:10
7个答案 按时间排序 按投票排序
-
引用
@Autowired
private TestUserService testUserService;
@Autowired
private MybatisTestDao mybatisTestDao;
这里一直是空值,我手动取值
MybatisTestDao dao1=new XmlBeanFactory(new ClassPathResource("applicationContext.xml")).getBean(MybatisTestDao.class);
你这个类对象肯定不是spring 的listener构造出来的,因为@Autowired默认是必须要注入的,否则容器初始化失败。
你没提到容器启动失败,说明你这个类对象并不是在spring中获取的。2012年10月18日 08:51
-
配置log4j看看tomcat启动有没有扫描到所有的资源
log4j.rootCategory=info, myLog #org.apache.log4j.ConsoleAppender定义myLog的输出端是控制台 log4j.appender.myLog1=org.apache.log4j.ConsoleAppender #org.apache.log4j.PatternLayout可以灵活地指定布局模式 log4j.appender.myLog1.layout=org.apache.log4j.PatternLayout # %n输出一个回车换行符 # %m输出代码中指定的消息 # %p输入日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL # %l输出日志发生的位置,相当于%c.%m(%f:%l)的组合,包括类目名、发生的线程、以及在代码中的行数 log4j.appender.myLog1.layout.ConversionPattern=-----------------%n %m %n %l %n------------------------------%n%n
2012年10月17日 19:01
-
XmlBeanFactory 这个默认不支持BeanPostProcessor,需要使用ApplicationContext实现如ClassPathXmlApplicationContext。
请参考
http://jinnianshilongnian.iteye.com/blog/1489787
http://jinnianshilongnian.iteye.com/blog/14924242012年10月17日 19:01
-
前端框架使用的struts,JSF,SpringMVC, 如果是springMVC则有一个专门的配置文件做这个设置,写在
<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:META-INF/spring/**/*.xml</param-value> </context-param>
这个指定的spring配置文件中是无效的<controller层的代码>。
如果是其他的框架,则必须确认此类是有spring进行初始化的,不然不加入spring的管理,也所不会真的这些注解做操作,自动设置对应的值的哦。2012年10月17日 17:53
-
MybatisTestDao dao1=new XmlBeanFactory(new ClassPathResource("applicationContext.xml")).getBean("mybatisTestDao");
试试2012年10月17日 17:16
相关推荐
使用Spring的注解方式实现AOP的细节
公司的java项目中spring使用注解依赖jar
Spring demo 自动检测注解
spring3 注解 详解spring3 注解 详解spring3 注解 详解
Spring java注解,元注解和自定义注解 Spring java注解,元注解和自定义注解 Spring java注解,元注解和自定义注解 Spring java注解,元注解和自定义注解 Spring java注解,元注解和自定义注解
spring源码带注释的,直接可以阅读,不需要重新编译。
spring源码(注释+测试版)
Spring通过注解实现IOC,Spring通过注解实现IOC,Spring通过注解实现IOC
spring3注解详细
获取springbean对象
Spring注解
Ehcache 整合Spring 使用页面、对象缓存
Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于...
使用 Spring 2.5 基于注解驱动的 Spring MVC 详解 本文将介绍 Spring 2.5 新增的 Spring MVC 注解功能,讲述如何使用注解配置替换传统的基于 XML 的 Spring MVC 配置。 Spring MVC 注解驱动 在 Spring 2.5 中,...
spring自定义注解样例
这是对Spring中注解是怎么实现的一个大概基本原理,条件是采取的理想状态,所以代码中还有缺陷的话请谅解,如果有需要的朋友可以放心下载,里面有详细的解释和流程。相信你能看懂
主要介绍Spring MVC 的使用注解来配置的使用实例
简单的demo4初学者,用到spring注解,log4j记录日志到文件
Spring 常用注解整理,分类:创建对象;注入数据;范围;全局异常;生命周期;新注解;JPA;扩展原理等注解类型。
spring4注解