- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下 java 配置类:
@Configuration
public class MyConfig {
@Autowired
private List<MyInterface> myInterfaces;
@Bean
public A a() {
return new A();
}
@PostConstruct
public void postConstruct() {
a().setProperty(myInterfaces);
}
}
每个 MyInterface 实现都将依赖于 bean A,我认为这是循环依赖的来源;然而,我的期望如下:
任何人都可以阐明我的哪些假设是不正确的吗?
最佳答案
您的代码中有循环依赖:请记住,MyConfig
也是一个 bean,因此需要实例化和 Autowiring 。为了创建它,需要注入(inject)所有可用的 MyInterface
实例,其中一个需要 bean A
,它是由 的实例方法创建的>MyConfig
等等。
如果您在 Spring Boot 1.4+ 中运行,您将得到以下输出:
***************************
APPLICATION FAILED TO START
***************************
Description:
The dependencies of some of the beans in the application context form a cycle:
┌─────┐
| interfaceImpl defined in file [/.../InterfaceImpl.class]
↑ ↓
| myConfig (field private java.util.List demo.MyConfig.myInterfaces)
└─────┘
您有两个选择:
public A a() {
-> public static A a() {
(因此不需要通过 的实例方法创建 bean A MyConfig
);使 myInterfaces
成为 @Lazy
依赖项(以便仅在访问时才实际填充):例如
@Autowired @Lazy
private List<MyInterface> myInterfaces;
关于java - Spring BeanCurrentlyInCreationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42731999/
我有以下 java 配置类: @Configuration public class MyConfig { @Autowired private List myInterfaces;
我该如何解决这个异常? 没有 Spring Boot 一切正常。 所以问题出在“应用”部分,对吗? 捕获异常 BeanCurrentlyInCreationException: Error creat
我正在开发我的 Spring Boot 应用程序,以将 Spring Security 与数据库身份验证集成。我对 Spring 相当陌生,并且不断遇到异常。我只是在关注这个教程https://www
创建新按钮我必须在新线程中运行代码。 通常我们使用 new Thread(....).start(); 但我想知道为什么我们不能使用 @Async-Annotation。 这是代码: package
我正在创建一个简单的 AOP 程序并开始获取 BeanCurrentlyInCreationException 异常。 这是我的代码: MyAspect.java package aspect; im
当我尝试连接配置类上的 channel 时,出现 BeanCurrentlyInCreationException 异常。我只是指Documentation这里。如果我理解有误,请指正。我使用 spr
我想在抽象类上有计划注释,以便子类不需要有注释。抽象类中有类似的东西 @EnableScheduling @SpringBootApplication public class DemoApplica
我正在尝试学习这个 spring-lemon 入门教程 ( https://naturalprogrammer.gitbooks.io/spring-lemon-getting-started/con
@Configuration public class Test1 { @Autowired private Test3 test3; } @Configuration public
在开发springboot项目的时候,就遇到了上面的错误。奇怪的是,项目在IDEA中运行良好,却报出运行为jar的异常。更奇怪的是,我的同事竟然可以打包一个无异常的jar!所以我认为是我自己的电脑环境
旧代码: @Component("someFactory") public class SomeFactoryImpl implements SomeFactory{ @Autowired
我正在使用 spring 和 hibernate 来配置 mysql db。 我的 we.xml 文件有以下代码: org.springframework.web.con
我是一名优秀的程序员,十分优秀!