我正在使用Spring Boot创建一个微服务,一切都很好,除了一些小麻烦 .
在我的测试类中自动装配,我在@Autowired注释上收到以下警告:
必须在有效的spring bean中定义自动成员(@ Component / @ Service等)检查自动连线成员是否在有效的Spring bean中定义(@Component | @Service | ...) .
这是使用以下测试类
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = Application.class)
public class MyRecordTest {
public static final String NUMBER = "ABC/123456";
@Autowired
private MyFactory factory;
@Autowired
private Marshaller marshaller;
...
}
我的应用程序配置类定义为
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Bean
public Marshaller getMarshaller() {
Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
marshaller.setPackagesToScan("com.my.classes");
return marshaller;
}
}
和MyFactory有@Component注释:
@Component
public class MyFactory {
...
}
我该如何解决这个问题?
另外,像拇指一样站立,我的应用程序中唯一未覆盖的行是public static void main方法中的SpringApplication.run行:
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
如何覆盖或忽略此问题?