분류 전체보기(557)
-
Proxy Target Class 조건
프록시 클래스의 타겟 클래스가 되기 위한 조건은 다음과 같습니다:인터페이스여야 한다:프록시 클래스는 인터페이스를 구현해야 하며, 클래스 또는 기본 타입이어서는 안 됩니다. 즉, Proxy.newProxyInstance 메서드의 interfaces 배열에 포함되는 모든 객체는 인터페이스의 Class 객체여야 합니다.숨겨지지 않고(non-hidden) 봉인되지 않은(non-sealed) 인터페이스여야 한다:인터페이스는 package-private(패키지 전용)이거나 그보다 더 공개된 접근 수준을 가져야 합니다. private로 선언된 인터페이스는 프록시 생성에 사용할 수 없습니다.또한, 인터페이스는 sealed로 선언되지 않아야 합니다. sealed 인터페이스는 구현할 수 있는 클래스나 인터페이스를 제한하므..
2023.05.17 -
certificate.p12
보호되어 있는 글입니다.
2023.05.17 -
Mockito
보호되어 있는 글입니다.
2023.05.17 -
Java Agent
Java Agent는 Java 애플리케이션의 실행 중 동작을 변경하거나 모니터링할 수 있는 특별한 프로그램입니다. Java Agent는 JVM(Java Virtual Machine)과 상호 작용하여 클래스 로딩 시점에 바이트코드를 조작하거나, 이미 로드된 클래스의 동작을 런타임에 수정할 수 있습니다. 이러한 기능은 성능 모니터링, 디버깅, 프로파일링, 코드 커버리지 분석, 그리고 AOP(Aspect-Oriented Programming) 구현 등 다양한 목적에 사용됩니다.Java Agent의 주요 특징premain 메서드:Java Agent는 JVM이 시작될 때 premain 메서드를 통해 실행됩니다. 이 메서드는 JVM이 메인 애플리케이션을 실행하기 전에 호출됩니다.premain 메서드는 두 가지 형태..
2023.05.17 -
AOP Concepts, Spring AOP Capabilities and Goals, AOP Proxies
AOP Concepts먼저, 중심이 되는 AOP 개념과 용어를 정의해보겠습니다. 이 용어들은 Spring에만 국한된 것이 아닙니다. 불행히도, AOP 용어는 직관적이지 않은 경우가 많습니다. 하지만 Spring이 자체 용어를 사용하는 것보다는 이 용어들을 사용하는 것이 덜 혼란스러울 것입니다.Aspect: Aspect(관점)은 여러 클래스에 걸쳐 있는 공통 관심사를 모듈화하는 방법으로, 트랜잭션 관리, 로깅, 보안 등이 대표적인 예입니다. Spring AOP에서 aspect는 일반 클래스(스키마 기반 접근 방식)를 사용하거나 @Aspect 애노테이션이 있는 일반 클래스를 사용하여 구현됩니다(@AspectJ 스타일).Join point: 프로그램 실행 중의 한 시점으로, 메서드 실행이나 예외 처리와 같은 ..
2023.05.16 -
Using the ProxyFactoryBean to Create AOP Proxies
Spring IoC 컨테이너(예: ApplicationContext 또는 BeanFactory)를 비즈니스 객체에 사용하는 경우(Spring에서는 이를 권장합니다), Spring의 AOP FactoryBean 구현 중 하나를 사용하는 것이 좋습니다. FactoryBean은 간접적인 레이어를 도입하여 다른 유형의 객체를 생성할 수 있게 해줍니다.Spring AOP 지원도 내부적으로 FactoryBean을 사용합니다. Spring에서 AOP 프록시를 생성하는 기본적인 방법은 org.springframework.aop.framework.ProxyFactoryBean을 사용하는 것입니다. 이를 통해 포인트컷, 적용할 어드바이스, 어드바이스의 순서에 대해 완전한 제어를 할 수 있습니다. 그러나 이러한 제어가 필요..
2023.05.16