Original code:
import org.aspectj.lang.*; import org.aspectj.lang.annotation.*; import org.springframework.context.annotation.*; import org.springframework.stereotype.Component; import org.springframework.beans.factory.annotation.*; import java.lang.annotation.*; import java.util.*; @Aspect @Component public class LoggerAOP { @Autowired private Logger logger; public void loggingAdvice(JoinPoint jp) { } } @Component class NameRepository { @LogExecution public List
getNames() { List
names = new ArrayList<>(); names.add("John"); names.add("Mary"); return names; } } @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) @interface LogExecution {} interface Logger { public void log(String data); } @Configuration @EnableAspectJAutoProxy @Import({LoggerAOP.class, NameRepository.class}) class Config { @Bean public Logger logger() { return (message) -> System.out.println(message); } }
Dashboard
Start Trial
Sign In
Home
Tour
Tests
Questions
Pricing
Resources
Blog
Read Evidence-Based Hiring
Support
Use Cases
ROI Calculator
Integrations
Customers
© TestDome, 2022.