2017-03-08 206 views
0

我试图让DI与示例DynamoDBTypeConverter一起工作我在玩弄,并没有运气:(我的服务始终为空,并在我的jUnit中引发错误。测试 这里是我的转换器:Spring Boot + DynamoDBTypeConverter依赖注入

@Component 
public class ArmTypeConverter implements DynamoDBTypeConverter<String, Arm> { 
    @Autowired 
    private ArmRepository armRepository; 

    @Override 
    public String convert(Arm Arm) {   
     return arm.getId(); 
    } 

    @Override 
    public Arm unconvert(String id) { 
     return armRepository.findOne(id); 
    } 
} 

我的应用程序主:

@SpringBootApplication 
@ComponentScan 
@EnableSpringConfigured 
@EnableLoadTimeWeaving(aspectjWeaving=EnableLoadTimeWeaving.AspectJWeaving.ENABLED) 
@EnableAutoConfiguration 
public class ArmApplication implements ApplicationRunner { 
    public static void main(String[] args) { 
      SpringApplication.run(ArmApplication.class, args); 
    } 

    @Bean 
    public InstrumentationLoadTimeWeaver loadTimeWeaver() throws Throwable { 
     InstrumentationLoadTimeWeaver loadTimeWeaver = new InstrumentationLoadTimeWeaver(); 
     return loadTimeWeaver; 
    } 
} 

我的服务:

@Service 
public class ArmServiceImpl implements ArmService { 
    @Autowired 
    private ArmRepository armRepository; 

    @Override 
    public Arm create(String length, Set<Register> registers) { 
     Date now = new Date(); 
     Arm arm = new Arm(); 
     arm.setLength("85cm"); 

     return armRepository.save(arm); 
    } 
} 

我的测试:

@RunWith(SpringJUnit4ClassRunner.class) 
@SpringBootTest 
public class ArmServiceTests { 
    @Autowired 
    private ArmService armService; 

    @Autowired 
    private TorsoService torsoService; 

    private Arm arm; 

    @Before 
    public void before() { 
     arm = armService.create("85cm", null); 
     torsoService.create("150cm", arm); 
    } 

    @After 
    public void after() { 
     // do nothing for now... 
    } 

    @Test 
    @WithUserDetails("[email protected]") 
    public void getArmTest() { 
     Arm c = armService.getArm(arm.getId()); 

     assertThat(c).isNotNull(); 
     assertThat(c.getId()).isEqualTo(arm.getId()); 
    } 
} 

我在做什么错?

+0

你可以显示服务和junit代码。 – pkoli

+0

我更新了OP – user1170235

+0

我们是否也可以有原木 – pkoli

回答

0

问题是我没有加载时间编织正确配置