Spring Framework(164)
-
Java Instrumentation API
Instrumentation API는 Java 플랫폼의 java.lang.instrument 패키지에서 제공되는 API로, JVM의 클래스 로딩 및 런타임 동작을 조작할 수 있도록 하는 API이며, 이 API 자체는 인터페이스로 제공됩니다. 이 API는 주로 성능 모니터링, 프로파일링, 코드 커버리지 도구, 그리고 AOP(Aspect-Oriented Programming) 같은 기술을 구현할 때 사용됩니다. 구현체는 JVM 내부에서 이 API를 구현하고, 이를 통해 Java Agent와 같은 도구들이 해당 기능을 사용할 수 있도록 합니다.주요 기능ClassFileTransformer:ClassFileTransformer는 클래스가 로드되기 전에 바이트코드를 변환할 수 있는 인터페이스입니다. 이를 통해 클..
2023.05.16 -
AOP Alliance (Java/J2EE AOP standards)
Introduction이 문서의 목적은 AOP Alliance 프로젝트를 소개하는 것입니다. 그 목표, 철학, 제공해야 할 답변, 그리고 제공하지 말아야 할 것들에 대해 다루고자 합니다. 이 문서는 AOP Alliance의 다른 구성원들과 논의를 통해 우리가 여기서 무엇을 하고 있는지에 대한 공통된 견해를 도출하기 위해 추가 논의가 필요한 초안 제안서입니다. 또한, 목록에서 논의 중에 흥미로운 점이 나오면 이 문서에 추가되어야 합니다.이 문서는 백서(white paper)로, AOP Alliance 구성원들이 내부적으로 사용할 수 있을 뿐만 아니라 외부 사람들에게 AOP Alliance가 무엇인지에 대한 통찰과 이해를 제공하는 데에도 사용될 수 있습니다. AOP Alliance goalsAOP Advan..
2023.05.10 -
Pointcut API in Spring
이 섹션에서는 Spring이 중요한 포인트컷 개념을 어떻게 처리하는지 설명합니다.Concepts스프링의 포인트컷 모델은 advice 유형과 독립적으로 포인트컷을 재사용할 수 있게 해줍니다. 동일한 포인트컷으로 다양한 어드바이스를 타겟팅할 수 있습니다.org.springframework.aop.Pointcut 인터페이스는 특정 클래스와 메서드를 타겟으로 어드바이스를 지정하기 위해 사용하는 핵심 인터페이스입니다. 전체 인터페이스는 다음과 같습니다:public interface Pointcut { ClassFilter getClassFilter(); MethodMatcher getMethodMatcher();}Pointcut 인터페이스를 두 부분으로 나누면 클래스와 메서드 매칭 부분을 재사용하고, ..
2023.05.03 -
Concise Proxy Definitions
특히 트랜잭션 프록시를 정의할 때, 유사한 프록시 정의가 많이 생길 수 있습니다. 부모-자식 빈 정의와 내부 빈 정의를 사용하면 훨씬 깔끔하고 간결한 프록시 정의를 만들 수 있습니다.먼저, 다음과 같이 프록시를 위한 부모(템플릿) 빈 정의를 생성합니다:XML 기반 구성: PROPAGATION_REQUIRED 자바 기반 구성:@Configurationpublic class AppConfig { @Bean public TransactionProxyFactoryBean txProxyTemplate(TransactionManager transactionManager) { TransactionProxyFactoryBean ..
2023.05.03 -
Instrumentation API vs AspectJ
Instrumentation API와 AspectJ는 서로 독립적인 기술이지만, AspectJ가 AOP(Aspect-Oriented Programming) 기능을 제공하는 데 있어 Instrumentation API를 활용할 수 있는 상황이 존재합니다. 그러나 Instrumentation API는 AOP 기능을 위해 반드시 AspectJ와 협력해야 하는 것은 아닙니다. 이 둘은 각각 다른 목적과 기능을 가지고 있으며, 특정 상황에서 협력할 수 있다는 것이 더 정확한 설명입니다.독립적인 역할Instrumentation API:주된 역할: 클래스 파일을 로드하거나 이미 로드된 클래스의 바이트코드를 런타임에 변경하는 것. AOP는 Instrumentation API의 핵심 기능이 아니며, 이 API는 성능 모..
2023.05.03 -
POM.xml
보호되어 있는 글입니다.
2023.05.02