我正在开发一个Spring Boot应用程序,其中我声明了一个组件,如下所示:
public class Comp1{
}
我想让它成为一个单例bean(因为默认情况下组件是单例的,所以我没有添加显式声明)。
我在类中添加了一个私有构造函数。
@Component
public class Comp1{
private Comp1(){
}
}
我有一个定义bean的配置类。
@Configuration
public class Congfig1{
@Bean
public Bean1 getBean1(){
}
}
我还有应用程序和控制器类。
@SpringBootApplication
public class App1{
}
@RestController
public class Controller1{
@Autowired
private Comp1 comp1;
}
我的单元测试用例如下所示:
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.MOCK,classes = {Config1.class})
public class UnitTest {
@Autowired
private Comp1 com1;
在上面的代码中,如果我运行单元测试,我将得到以下异常。
通过字段“repositoryMaster”表示的未满足的依赖关系;嵌套的异常是org。springframework。豆。工厂NoSuchBean定义异常:
然而,当我将其作为Spring boot应用程序运行时,该应用程序运行良好。
当我公开Comp1的构造函数并在Config1中添加Comp1的bean定义时,异常没有发生。
@Component
public class Comp1{
public Comp1(){
}
}
@Configuration
public class Congfig1{
@Bean
public Bean1 getBean1(){
}
@Bean
public Comp1 getComp1(){
}
}
谁能解释一下这种不一致的原因吗。我假设如果启用了组件扫描,那么bean应该在应用程序中自动连接。
1) 作为私有构造函数,spring无法创建组件类Comp1的实例。一旦@component成为附加类,spring将尝试创建默认的单例实例。在需要对象的地方,通过DI注入对象
甚至不需要使用@Bean public Comp1 getComp1(){}
org.springframework.beans.factory.unsatisfiedDependencyException:创建名为“com.sonos.arcor.service.AddressServiceTest”的bean时出错:通过字段“service”表示的未满足的依赖项;嵌套异常为org.springframework.beans.factory.noSuchBeanDefin
无法解决测试Spring Boot应用程序的问题: 主控制器: 应用程序属性:
大家好,每个人都是spring的新手,正在尝试为CRUD创建一个简单的应用程序,但是我得到了下面的错误。我正在使用STS 创建名为“Client ServiceImpli”的bean时出错:通过字段“Client Repository”表示的不满足的依赖关系;嵌套异常为org.springframework.beans.factory.BeanCreationException:创建名为“clie
我正在尝试弄清楚如何将我的本机库集成到android代码中。我创建了一个简单的C函数,它在设备上运行代码时运行良好。但是我目前的目标是让它在单元测试环境(jUnit)中工作,我面临着问题: 因此,在单元测试env不工作,我将其保存到系统中。load(“/full/path/to/lib.so”),但现在此行引发异常: java.lang.不满意的链接错误:app\build\中介\cmake\de
java.lang.noClassDefoundError:scala/collection/gentraversableonce$class at kafka.utils.pool.(pool.scala:28)~[kafka2.10-0.8.1.1.jar:na] at kafka.consumer.FetchRequestandResponseStatsRegistry$.~[kafka2.
以下是例外情况: 我的代码: 我评论了setCacheable(true),因为它给出了一个错误。有人能帮忙吗?