spring的bean不能注入的几种原因及分析

1、异常信息
在这里插入图片描述
2.有可能引起的原因:
1、在applicationContext.xml的配置文件里的包扫描不对。
在这里插入图片描述
2、在web.xml里没有加载spring容器。
在这里插入图片描述
3、分布式工程,使用dubbo或者hsf通信,在服务层,或者消费层,单词写错了。
在这里插入图片描述
在这里插入图片描述
4、还有一种可能,有可能是pom 里的jar包冲突。

5、从ApplicationContext 获取bean的时候getBean传的参数与配置的bean的id不一致导致无法取到,建议bean的id与接口名保持一致,不要添加或去除字母:

public static RedisUtilService getRedisUtilService() {// 此处应为redisUtilreturn (RedisUtilService)getApplicationContext().getBean("redisUtilService");}
<hsf:consumer id="redisUtil" interface="com.asiainfo.retail.service.util.RedisUtilService"version="${version}" group="${moon}"></hsf:consumer>

6、web.xml的加载顺序与它们在 web.xml 文件中的先后顺序无关。不会因为 filter 写在 listener 的前面而会先加载 filter。加载顺序依次为:listener -> filter -> servlet,所以在filter中是无法使用@autowire注解注入bean的,需要我们手动加载,在过滤器中使用service是需要手动注入的。代码如下:

private static ApplicationContext getApplicationContext() {ApplicationContext ac = null;try {ac = new ClassPathXmlApplicationContext("applicationContext.xml");} catch (Exception e) {e.printStackTrace();}return ac;
}public static StaffInfoService getStaffInfoService() {return (StaffInfoService)getApplicationContext().getBean("staffInfoService");
}

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

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

相关文章

linux 备份mysql并上传_Linux 网站目录和MySQL备份并上传FTP

#!/bin/bashMYSQL_USERrootMYSQL_PASSFTP_USERFTP_PASSFTP_IPFTP_backupbackupWEB_DATA/home/wwwrootDataBakNameData_$(date ”%Y%m%d”).tar.gzWebBakNameWeb_$(date ”%Y%m%d”).tar.gzOldDataData_$(date -d -3day ”%Y%m%d”).tar.gzOldWebWeb_$(date -d -3day ”%Y%m%d”…

python后端需要什么基础_【后端开发】python爬虫需要什么基础

入手爬虫确实不要求你精通Python编程&#xff0c;但基础知识还是不能忽视的&#xff0c;那么我们需要哪些Python基础呢&#xff1f;首先我们先来看看一个最简单的爬虫流程&#xff1a;第一步要确定爬取页面的链接&#xff0c;由于我们通常爬取的内容不止一页&#xff0c;所以要…

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.TooManyR

异常信息&#xff1a; org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 2 at org.mybatis.spring.MyBatisExceptionTransl…

java 两个字段排序_如何在Java中按两个字段排序?

使用Java 8流方法.。//Creates and sorts a stream (does not sort the original list)persons.stream().sorted(Comparator.comparing(Person::getName).thenComparing(Person::getAge));Java 8 Lambda方法.。//Sorts the original list Lambda stylepersons.sort((p1, p2) -&…

spring的动态代理,碰到了一个类型转换的问题:java.lang.ClassCastException: com.sun.proxy.$Proxy16 cannot be cast to com.

spring的动态代理&#xff0c;碰到了一个类型转换的问题&#xff1a; java.lang.ClassCastException: com.sun.proxy.$Proxy16 cannot be cast to com.Charon.service.UserServiceImpl 首先介绍一下spring的动态代理。 spring使用的动态代理有两种&#xff1a;JDK Proxy 和CGL…

java xms512m_安装版的tomcat设置JAVA_OPTS=-Xms128M -Xmx512M -XX:PermSize=128M -XX:MaxPermSize=512M...

tomcat如果是通过windows服务启动&#xff0c;执行的是bin\tomcat.exe.他读取注册表中的值,而不是catalina.bat的设置.解决办法:修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\Tomcat6\Parameters\JavaOptions原值为-Dcatalina.homeE:\Tomcat…

关于Typora编辑器编写markdown文档时插入出现前字吞后字的解决方法

关于Typora编辑器编写markdown文档时插入出现前字吞后字的解决方法 原因是按到了键盘上的Insert键&#xff0c;使得编辑模式变为了改写&#xff0c;所以会把文本替换掉&#xff0c;这个按键没有状态标示。

异常信息java.lang.Object.wait(Native Method) java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:

在写springboot项目时出现了一个这样的错误&#xff01;&#xff01; ava.lang.Object.wait(Native Method) java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143) com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:43) …

java http url 编码_Java中的HTTP URL地址编码

java.net.URI类可以帮助;在URL的文档中找到Note, the URI class does perform escaping of its component fields in certain circumstances. The recommended way to manage the encoding and decoding of URLs is to use an URI使用带有多个参数的构造函数&#xff0c;如&…

Error querying database. Cause: java.lang.UnsupportedOperationException

mybatis抛出以下异常&#xff1a; Error querying database. Cause: java.lang.UnsupportedOperationException 对应语句如下&#xff1a; select distinct code from ssj_dictionary 错误原因是 resultType“java.util.List” &#xff0c;这里应该改成&#xff1a; result…

从java多态到策略模式_设计模式中的多态——策略模式详解

2. 策略模式详解2.1 策略模式定义策略模式定义了一系列算法,并将每一个算法封装起来&#xff0c;而且使它们还可以相互替换。策略模式让算法独立于使用它的客户端而独立的变化。可以使用多态进行类比来理解策略模式的定义。一系列算法可以理解成接口的不同实现类,因为不同实现类…

linux服务器安装zookeeper本地项目远程连接

linux服务器安装zookeeper本地项目远程连接 zookeeper linux 服务器安装&#xff0c;本地idea连接 先决条件&#xff1a;一台linux服务器&#xff0c;服务器里面已经安装好java环境&#xff08;安装Java看这里&#xff1a;https://blog.csdn.net/qq_43842093/article/details…

android 获取蓝牙设备id_【报Bug】安卓平台获取不到蓝牙设备服务列表(ios可以)...

产品分类&#xff1a;uniapp/AppPC开发环境操作系统&#xff1a;WindowsPC开发环境操作系统版本号&#xff1a;win10HBuilderX类型&#xff1a;正式HBuilderX版本号&#xff1a;3.0.7手机系统&#xff1a;Android手机系统版本号&#xff1a;Android 9.0手机厂商&#xff1a;华为…

java gson 工具类_GSON 实体 转换工具类

/*** Gson转换工具类*/public class GsonUtils {/*** param jsonString* json字符串* param cls* 要转换的类* param * 返回要转换的类* return*/public static T getPerson(String jsonString, Class cls) {T t null;try {Gson gson new G…

修改linux远程主机名命令hostname

hostname命令 用这个命令&#xff1a;之后重新登录

java string字符操作_Java对String类型字符串的各种操作姿势

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼//获取字符串的长度String str2 "helloword";System.out.println(str2.length());//利用数组创建string对象char[] cha {h,e,l,l,o,w,o,r,d,!};String str new String(cha);System.out.println(str);//利用数组创建st…

zookeeper下载安装过程

1.1 下载安装 1、环境准备 ZooKeeper服务器是用Java创建的&#xff0c;它运行在JVM之上。需要安装JDK 7或更高版本。 2、上传 将下载的ZooKeeper放到/opt/ZooKeeper目录下 #上传zookeeper altp put f:/setup/apache-zookeeper-3.5.6-bin.tar.gz #打开 opt目录 cd /opt #创…

java 计算反码_java基础知识-原码、反码、补码、运算符

一、原码、反码、补码原码一个数转化成二进制。用最高位来表示正负&#xff0c;最高位为0表示正数&#xff0c;最高位为1表示负数。例如&#xff1a;short i5&#xff1b;因为在java里short占2个字节转化成二进制就是 00000000 00000101所以 00000000 00000101就是5的原码short…

dubbo-admin安装和简单使用

一、dubbo-admin安装 1、环境准备 dubbo-admin 是一个前后端分离的项目。前端使用vue&#xff0c;后端使用springboot&#xff0c;安装 dubbo-admin 其实就是部署该项目。我们将dubbo-admin安装到开发环境上。要保证开发环境有jdk&#xff0c;maven&#xff0c;nodejs 安装n…

java 文件流 重写_java中关于文件流的总结

[File类]1、 作用&#xff1a; 用于对磁盘文件进行操作。 删除、创建等。2、 三种常用的构造函数&#xff1a;① File file1 new File("F:\\test");直接传入一个路径&#xff0c;拿到一个文件或者是文件夹。② File file2 new File("F:\\test","tes…