将注释移至基类后

时间:2019-01-28 17:16:13

标签: java spring annotations

我有2个服务班。 一个BaseService类和一个ServerStatusService类,扩展了第一个类。 我正在尝试添加方面,以便能够通过自定义注释添加一些额外的逻辑。

首先,我尝试使用ServerStatusServiceImpl类中的方法,但它工作正常,但是当我尝试将其添加到BaseService类中的方法(该方法被另一个方法调用)时,它无法加载上下文。

没有可用的“ ... ServerStatusServiceImpl”类型的合格Bean

是否有人在将注解移入基类时会发生什么?

@Service
public class BaseService {
        @Annotated
        String baseMethod(){
           return "";
        }
    }

@Service
public class ServerStatusServiceImpl implements ServerStatusService extends BaseService {
       public ServerStatusServiceImpl(){
           super();
       }
       String serverStatusMethod() {
         return baseMethod();
       }
    }

@Aspect
@Component
public class MyAspect {
    @Before("@annotation(....Annotated)")
    public void myAdvice(JoinPoint joinPoint) {
        System.out.println("Logging to console");        
    }
}

@ComponentScan
@Configuration
@EnableAspectJAutoProxy
public class LibraryConfig {


    @Bean
    public ServerStatusServiceImpl serverStatusService(){
        return new ServerStatusServiceImpl();
    }

   @Bean
   public MyAspect myAspect() {
       return new MyAspect();
   }
}

public static void main(String[] args) {
    ApplicationContext ctx = new 
 AnnotationConfigApplicationContext(MyConfig.class);
    ServerStatusServiceImpl sts = 
     ctx.getBean(ServerStatusServiceImpl.class);
}

0 个答案:

没有答案