我通过不带out名称的配置创建bean
@Configuration
@ConfigurationProperties(prefix = "mysql")
public class DbConfiguration extends BaseDbConfiguration {
@Bean//(name = "fix")
@Override
public DbClient createClient() {
return super.createClient();
}
}
用法:
@Autowired
private DbClient dbClient;
当我运行应用程序时,它无法启动
并抛出NoSuchBean定义异常:
找不到符合依赖项要求的[DbClient]类型的bean:需要至少1个符合此依赖项autowire候选的bean。依赖项注释:{@org.springframework.beans.factory.annotation.Autowired(必需=true)}
但我通过添加名称来修复它,为什么??
@Bean(name = "fix")
我还添加了这样的测试:
public class TestCreate {
@NotNull
private int test;
public Test createTest() {
return new Test(this.test);
}
}
it配置如下:
@Configuration
@ConfigurationProperties(prefix = "test")
public class TestConfiguration extends TestCreate {
@Override
@Bean
public Test createTest() {
return super.createTest();
}
}
自动连线如下:
@Autowired
private Test test;
不过这个测试可能会很有效
它还创建不带名称的Bean,并自动连接,不带限定符
请告诉我为什么谢谢
很抱歉
我找到了结果:
正在重写bean“createClient”的bean定义:替换。。。
因此,Spring Boot将通过FunctionName而不是返回ObjectName来创建Bean。
我通过使用Spring和Hibernate创建实体、服务和服务的JUnit测试开始了我的项目。所有这些都很管用。然后,我添加了spring-mvc来使用许多不同的分步教程来制作这个web应用程序,但是当我试图使用注释制作Controller时,我在部署期间从Glassfish得到错误。我想由于某种原因Spring没有看到我的服务,但经过多次尝试,我仍然无法处理它。 /webapp/web-inf/
在尝试使用Spring Boot framework进行一些测试时,我遇到了一个问题,无法找到测试单元所依赖的Bean。 我的测试类: 如果我试图在测试类中自动连接bean,我也会收到同样的错误。
org.springframework.beans.factory.未满足的依赖异常:创建名称为“授权ServerConfig”的bean时出错:通过字段“身份验证管理器”表示的依赖项未满足;嵌套异常org.springframework.beans.factory.NoSuchBean定义异常:没有可用类型为“org.springframework.security.authentication
问题内容: 我正在尝试构建一个全新的Spring Framework 4.0项目,而没有所有神奇的东西,而只是简单地将它踢过去。 我在这里关注该教程:http : //spring.io/guides/tutorials/data/并取得了一些成功。我只是停留在这一点上。 当我运行此单元测试时,得到以下堆栈跟踪: 根据观察和研究,似乎是在告诉我有两个EntityManager类。第一个来自hibe
当我尝试在junit测试类中加载配置文件时,在注入数据源时出现以下错误: 组织。springframework。豆。工厂NoSuchBeanDefinitionException:在组织中未定义名为“transactionManager”的bean。springframework。豆。工厂支持DefaultListableBeanFactory。位于org的getBeanDefinition(De