autowired的对象为null_spring-为什么我的@Autowired对象为null?

我有下面的JSF托管bean:

package com.example;

import java.io.Serializable;

import javax.faces.bean.ManagedBean;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Component;

@Component

@ManagedBean

public class Bean implements Serializable {

@Autowired

private SomeService someService;

public void update() {

someService.update(someEntity);

}

// ...

}

和下面的Spring服务:

@Transactional

@Repository

public class SomeService {

@Autowired

private SessionFactory sessionFactory;

// ...

}

Spring的配置如下:

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"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">

Example configuration to get you started.

当我调用JSF托管bean update()方法时,它抛出NullPointerException:

javax.faces.FacesException: #{bean.update()}: java.lang.NullPointerException

at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:117)

at org.springframework.faces.webflow.FlowActionListener.processAction(FlowActionListener.java:71)

at org.springframework.faces.model.SelectionTrackingActionListener.processAction(SelectionTrackingActionListener.java:55)

at javax.faces.component.UICommand.broadcast(UICommand.java:315)

at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:786)

at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1251)

at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)

at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)

at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.ocpsoft.rewrite.servlet.RewriteFilter.doFilter(RewriteFilter.java:191)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)

at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

at java.lang.Thread.run(Thread.java:722)

Caused by: javax.faces.el.EvaluationException: java.lang.NullPointerException

at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:101)

at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:101)

... 28 more

Caused by: java.lang.NullPointerException

at com.example.Bean.update(Bean.java:45)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:601)

at org.apache.el.parser.AstValue.invoke(AstValue.java:278)

at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)

at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)

at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)

... 29 more

换句话说,someService为null.我无法为自己的生活弄清楚原因.我在bean的顶部声明了@Component.所以我希望@Autowired可以正常工作.任何帮助都会很棒!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/551325.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于mysql和php的分布式事务处理1,基于MySQL和PHP的分布式事务处理

PHP(超级文本预处理语言)是一种基于服务器端、执行效率高且易于开发的HTML内嵌式语言,是用户生成动态网页的工具之一[1].MySQL是全球最受欢迎的小型开放源码的关系型数据库管理系统,其体积小、速度快、总体拥有成本低[2].很多基于PHP技术开发的中小型网站都采用MySQL作为其后台…

ios查看线程数量_关于iOS多线程,你看我就够了(已更新)

作者:翁呀伟呀 授权本站转载。在这篇文章中,我将为你整理一下 iOS 开发中几种多线程方案,以及其使用方法和注意事项。当然也会给出几种多线程的案例,在实际使用中感受它们的区别。还有一点需要说明的是,这篇文章将会使…

php fuzzy,模糊C均值聚类算法(Fuzzy C-means)

模糊c均值聚类与k均值聚类区别k均值聚类k均值聚类的实现中,把每个样本划分到单一的类别中,亦即是每个样本只能属于一种类别,不能属于多种类别。这样的划分,称为硬划分。模糊c均值均类为了解决硬划分所带来的问题,因此有…

matlab 投票法_张量投票算法及其使用并分析.pdf

张量投票算法及其使用并分析摘 要本文主要介绍了一种新的数据分析算法,即张量投票算法.该算法完全利用图像数据,根据张量分析,矩阵论和几何的知识,对数据点进行编译和几何阐释,再根据心理学中的Gestalt原理…

dw新建php文件自动生成html,dw如何新建css规则

1、在菜单中单击“文件”选择“新建”2、在新建文档窗口,选择“空白页”—“HTML”,文档类型选择“XHTML1.0 transitional”,单击“创建”按钮3、将插入点放在文档中,然后在菜单栏单击“格式”,在弹出的下拉菜单中选择“CSS样式”…

lan口配置 petalinux_【Xilinx-Petalinux学习】-02-建立PetaLinux工程

前面我已经把PetaLinux成功安装到了Ubuntu虚拟机当中了,接下来就要实际操作,将PetaLinux移植到我们自己的硬件平台当中去。step1:硬件描述文件有两种PetaLinux工程建立的方法,一种是下载官方开发板的BSP包并安装,一种就…

oracle其他盘添加表空间吗,oracle增加表空间的四种方法

实例1:在中,磁盘空间不足是DBA都会遇到的问题,问题比较常见。--1查看表空间已经使用的百分比select a.tablespace_name,a.bytes/1024/1024 "SumMB",(a.bytes-b.bytes)/1024/1024 "used MB",b.bytes/1024/1024 "free…

oracle获取登录名,oracle如何获取当前登录的用户名

Microsoft Windows [版本 5.2.3790](C) 版权所有 1985-2003 Microsoft Corp.C:/>sqlplusSQL*Plus: Release 9.2.0.1.0 - Production on 星期三 5月 30 00:04:26 2007Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.请输入用户名: scott请输入口令:连…

广告冷启动_亚马逊新品冷启动,你的广告策略怎么定?

上新品,没有黑科技加持,纯靠PPC广告冷启动,你会怎么做?我们先来看看运作成功且销售情况稳定的ASIN的流量组成:对比这些数据,大家可以算算自己漏掉了多少流量。占了大头的关联流量中,又以“Newer…

oracle报28003,【翻译自mos文章】运行utlpwdmg.sql之后报ORA-28003, ORA-20001, ORA-20002, ORA-20003, ORA-20004 错误...

运行utlpwdmg.sql之后报ORA-28003, ORA-20001, ORA-20002, ORA-20003, ORA-20004 错误。适用于:Oracle Server - Enterprise Edition - Version 8.1.7.0 and laterInformation in this document applies to any platform.Checked for relevance on 15-Sep-2012原因&…

mysql 天数减1_mysql 日期加减天数

MySQL 为日期增加一个时间间隔:date_add()now() //now函数为获取当前时间select date_add(now(), interval 1 day); - 加1天select date_add(now(), interval 1 hour); -加1小时select date_add(now(), interval 1 minute); - 加1分钟select date_add(now(), …

oracle注入过滤了单引号,sql绕过单引号限制继续注入的解决方法

在防范sql注入时,对变量过滤不足甚至没有过滤而构造畸形SQL语句,极有可能被成功注入,比如下面这行sql,相当轻松就注入成功了:代码示例:http://www./show.asp?id1;exec master.dbo.xp_cmdshell net user angel pass /a…

python实现英文新闻摘要自动提取_Automotive Innovation摘要集系列2:Intelligent and Connected Vehicles...

为便于广大科技工作者更好的了解中国汽车行业首个英文学术期刊《Automotive Innovation》,并更快的定位到自己感兴趣的论文,编辑部把2018-2019年刊出的70篇论文摘要进行集结,并按照节能与环保(Energy-saving & Eco-systems)、智能网联汽车…

oracle data guard闪回,11gR2 Active Data Guard 闪回 - flashback database / snapshot standby - 2

二,11g 使用snapshot方式设置Data Guard闪回snapshot standby是11g引入的新特性,它不需要开启flashback database特性,就可以让physical standby数据库以read-write模式开启,而后可以退回到standby模式,所有open模式下…

fp算法例题_机器学习(九)—FP-growth算法

本来老师是想让我学Hadoop的,也装了Ubuntu,配置了Hadoop,一时间却不知从何学起,加之自己还是想先看点自己喜欢的算法,学习Hadoop也就暂且搁置了,不过还是想问一下园子里的朋友有什么学习Hadoop好点的资料&a…

linux 改变文件夹属性,技术|在Linux中用chattr和lsattr命令管理文件和目录属性

为了允许添加数据,防止更改或者删除等,文件和文件夹可以设定了特定的控制属性。例如,你可以在关键的系统文件或者文件夹中启用属性,然后没有任何用户,包括root,可以删除或者修改它,比如不允许使…

封头名义厚度如何圆整_松原封头价格

松原封头价格这种情况下我们常常是选用宽度1500毫米的板材开展下料。同时为了保证其的宽度,借此需要下两块料。此外在下料前需要在原板材上面选择一段试样,需对试样实施物理性能测试和化学元素含量的测试,缘于物理性能决定封头的减薄率&#…

Linux系统驱动全吗,linux系统需要给硬件安装驱动程序么?谁推荐一下linux系统阿~要驱动最全...

需要,不过大部分linux都自带,少量的也都有自动安装文件 比如ati的显卡驱动什么的。之前还自己写过驱动,linux的驱动比windows的驱动透明度高很多大部分硬件基本上 都可以识别的 也可以通过网络更新 之前我用ubantu的时候是这样的 别的没试过 …

div和div之间画横线_javascript – jQuery – 使用画布在div之间绘制线条

我会把div定位为绝对的,然后把它们放在你想要的地方.然后用这个功能获得他们的位置://Get the absolute position of a DOM object on a pagefunction findPos(obj) {var curLeft curTop 0;if (obj.offsetParent) {do {curLeft obj.offsetLeft;curTop obj.offse…

linux 系统盘无法ls,系统故障排除

1.系统故障排除1)模拟磁盘/dev/sda的MBR故障,并执行修复01.备份磁盘/dev/sda的MBR扇区选择一个/dev/sda以外的文件系统(比如/dev/sdb1)来存放备份文件:[rootsvr5 ~]# df -hT/home//选择/dev/sdb1存放备份文件系统 类型 容量 已用 可…