내 Java 코드에서 new()
을 호출하여 생성되는 인스턴스에서 일반 DAO 서비스를 Autowire 할 수 있기를 원합니다. @configurable이 This spring doc을 살펴 보는 올바른 방법이라는 것을 이해했습니다. 그래서 여기@Configurable 클래스에서 @Autowired가 작동하지 않음
내가, 주요 설정 클래스는 그 모양이
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = { xxx.MainConfig.class })
@ActiveProfiles({ "database-test", "classpath" })
public class DynVdynOperationsImplTest {
@Test
public void testSend() {
underTest = new DynVdynOperationsImpl();
underTest.sendVdyn("0254", null, null);
... }
처럼 보이는 봄 테스트와 JUnit 테스트에서 사용하려는 내 클래스 코드
@Configurable(dependencyCheck=true)
public class DynVdynOperationsImpl implements DynVdynOperations {
@Autowired
private DynVdynInDbDao vdynDao;
입니다
@Configuration
@EnableSpringConfigured
@ComponentScan(basePackages = {xxx })
public class MainConfig {
...
@Bean
@Scope("prototype")
public DynVdynOperations vdynOperations() {
return new DynVdynOperationsImpl();
}
테스트를 실행하면 underdest vdynDao 속성이 자동으로 올바르게 실행되지 않고 남아 있습니다. 없는. this similar question을 보면, 나의 설정에서 AspectJ에 관한 것들이 누락되었을 수있다.
작동시키기위한 간단한 방법이 있습니까? 즉 내 코드에 물체를 만들 때 나 자신을 삽입하는 것에 비해 플라이를 죽이기 위해 망치를 사용하는 느낌이 들지 않는 곳? @Service
객체 내 코드에서 직접 스프링 콩 공장을 호출 할 수 있습니까?