Mój kod:
@Aspect
@Configuration
public class UseAccessAspect {
@Before("execution(* com.example.leszkaop.buisness.Business1.calculateSomething(..))")
public void beforeCalculateMy(JoinPoint joinPoint){
System.out.println("to działa");
}
@Before("execution(* com.example.leszkaop.buisness.Business2.calculateSomething(..))")
public void beforeCalculateMy2(JoinPoint joinPoint){
System.out.println("to nie działa");
}
}
@Service
public class Business1 {
public String calculateSomething(){
return "xxxx";
}
}
@Component("myBusiness2")
public class Business2 {
public String calculateSomething(){
System.out.println("Business2->calculateSomething()");
return "yyyyyyy";
}
}
public class LeszkaopApplication implements CommandLineRunner {
@Autowired
private Business1 business1;
public static void main(String[] args) {
SpringApplication.run(LeszkaopApplication.class, args);
}
@Override
public void run(String... args) throws Exception {
System.out.println("dsadsadsa");
business1.calculateSomething();
Business2 business2 = new Business2();
business2.calculateSomething();
}
}
Jeśli zrobię z Business2 @Service i załącze przez @Autowired wszystko działa jak należy. Niestety bez tego nie chce.
scibi92