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
Product
Features
Use Cases
Customers
ROI Calculator
Integrations
Assessments
Tests
Questions
Pricing
Resources
Book: Evidence-Based Hiring
Blog
Support
Contact Us
Legal
For Jobseekers
© TestDome, 2024.