我有一个用户定义的注释类,如下所示。
@Target({ TYPE, METHOD, PARAMETER, FIELD })
@Retention(RUNTIME)
@Qualifier
public @interface Message
{
Dest value();
public static enum Target { DEFAULT, TEST }
}
我以以下方式使用此注释。
@Component
public class ProcessorBean implements Processor
{
@Autowired @Message(Message.Target.DEFAULT) Producer<Object, Object> messageProducer;
@Autowired
MessageConfig messageConfig;
不确定如何创建ProcessorBean的bean并注入Producer。
@Bean(name="DEFAULT")
public Producer<Object, Object> producer() {
return mock(Producer.class);
}
我尝试了上面的一个,它抛出了依赖性错误。
感谢
我自己找到了解决方案。希望这对其他人有帮助。
@Message(Message.Target.DEFAULT)
@Bean
public Producer<Object, Object> producer() {
return mock(Producer.class);
}