我在Java应用程序中使用Spring,所有@Autowired注释到目前为止都在工作。
@Component
public class MyBean implements MyInterface {
...
}
@Component
public class MyOtherBean {
@Autowired
private MyBean myBean;
...
}
一旦我尝试启动应用程序,我得到:
java.lang.IllegalArgumentException:无法将 MyBean 字段 MyOtherBean.myBean 设置为 $ProxyXX
implements
部分后,一切正常接口的实现会有什么问题?什么是< code>$ProxyXX?
默认情况下,当bean实现一个接口时,Spring使用Java动态代理来实现AOP。解决这个问题最简单、最干净的方法是在接口上编写程序,并注入接口而不是具体的类:
@Component
public class MyOtherBean {
@Autowired
private MyInterface myBean;
...
}
关于如何强制spring始终使用CGLib,请参见http://static . springsource . org/Spring/docs/3.2 . x/Spring-framework-reference/html single/# AOP-proxing。
我怀疑问题在于Spring注入了一个实现< code>MyInterface的AOP代理——可能是为了事务管理或缓存的目的。是否有任何< code>MyBean的方法被注释了< code>@Transactional或用任何其他注释进行了注释?
@Component
public class MyOtherBean {
@Autowired
private MyInterface myBean;
...
}
如果您有多个Bean实现MyInterface
,那么您总是通过名称来限定您的Bean。
@Component
public class MyOtherBean {
@Autowired
@Qualifier("myBean")
private MyInterface myBean;
...
}
有没有可能让一个Spring Bean实现两个接口,并能够使用任何一个接口自动连接Bean? 一个实现两个服务的类 我正在获取: 原因:org.springframework.beans.factory.NoSuchBeanDefinitionException:找不到依赖项[ServiceB]的[ServiceB]类型的合格bean:需要至少有一个bean可以作为此依赖项的自动候选项。依赖项批注
我从spring-boot开始,我有一些配置问题。我无法自动操作某些服务。我得到一个BeanCreationException。 Hier是我自动执行服务的控制器: 控制台的错误: 当我从compenentscan中删除两个控制器时,我不会出现这个错误,但我需要扫描这些控制器来访问endpoint。
问题内容: 背景: 我有一个Spring 2.5 / Java / Tomcat应用程序。下面的bean在整个应用程序中的许多地方都使用过 以下是新的bean: 第一个bean的配置如下(包含了软件包中的所有bean) 第二个(新)bean是单独配置的 启动服务器时,这(当然)会导致异常: 从试图像这样自动装配bean的类中 因为有两个bean实现相同的接口。 问题: 是否可以配置Bean,以便
我有一个spring 2.5/Java/Tomcat应用程序。下面有一个bean,在整个应用程序的许多地方都使用了这个bean 和以下新bean: 第一个bean是这样配置的(包中的所有bean都包含在内) 第二个(新的)bean是单独配置的 这会导致(当然)启动服务器时出现异常: 嵌套异常为org.springframework.beans.factory.NoSuchBeanDefinitio
我是Spring的新手。我正面临Spring-Boot的问题。我正在尝试将外部配置文件中的字段自动装配到自动装配的bean中。我有以下类 应用程序。Java语言 AppConfig。Java语言 服务接口 服务1 我无法在App类的postconstruct方法中显示服务名称变量。我这样做对吗?
大家好,我是Spring安保和jwt的新人。我正在我的spring boot项目中实现Jwt以确保用户登录安全,我使用的是spring boot 2.1.5,我不太了解spring boot 2中的新bean限制 @自动安装用户详细信息服务jwtUserDemailsService 谚语。。。无法自动连线。用户详细信息服务类型的 bean 不止一个。 谁能解释一下这里发生了什么问题,为什么我不能自