분류 전체보기

·Spring/AOP
💡 김영한님의 스프링 핵심 원리 고급편 강의를 듣고 정리한 내용입니다.CGLIBCGLIB: Code Generator LibraryCGLIB는 바이트코드를 조작해서 동적으로 클래스를 생성하는 기술을 제공하는 라이브러리이다.CGLIB를 사용하면 인터페이스가 없어도 구체 클래스만 가지고 동적 프록시를 만들어낼 수 있다.CGLIB는 원래는 외부 라이브러리인데, 스프링 프레임워크가 스프링 내부 소스 코드에 포함했다. 따라서 스프링을 사용한다면 별도의 외부 라이브러리를 추가하지 않아도 사용할 수 있다.  참고로 우리가 CGLIB를 직접 사용하는 경우는 거의 없다. 이후에 설명할 스프링의 ProxyFactory라는 것이 이 기술을 편리하게 사용하게 도와주기 때문에, 너무 깊이있게 파기 보다는 CGLIB가 무엇인지..
·Spring/AOP
💡 김영한님의 스프링 핵심 원리 고급편 강의를 듣고 정리한 내용입니다.리플렉션직접 프록시 클래스를 만들어서 개발한다면 프록시 클래스가 가리키는 대상 클래스 수 만큼 프록시 클래스를 만들어야 한다는 점이다. 자바가 기본으로 제공하는 JDK 동적 프록시 기술이나 CGLIB 같은 프록시 생성 오픈소스 기술을 활용하면 프록시 객체를 동적으로 만들어낼 수 있다. 쉽게 이야기해서 프록시 클래스를 계속 만들지 않아도 된다는 것이다. 프록시를 적용할 코드를 하나만 만들어두고 동적 프록시 기술을 사용해서 프록시 객체를 찍어내면 된다. JDK 동적 프록시를 이해하기 위해서는 먼저 자바의 리플렉션 기술을 이해해야 한다.리플렉션 기술을 사용하면 클래스나 메서드의 메타정보를 동적으로 획득하고, 코드도 동적으로 호출할 수 있다..
💡 김영한님의 스프링 핵심 원리 고급편 강의를 듣고 정리한 내용입니다.데코레이터 패턴 적용 전Componentpublic interface Component { String operation();} RealComponent@Slf4jpublic class RealComponent implements Component { @Override public String operation() { log.info("RealComponent 실행"); return "data"; }}DecoratorPatternClient@Slf4jpublic class DecoratorPatternClient { private Component component; publi..
💡 김영한님의 스프링 핵심 원리 고급편 강의를 듣고 정리한 내용입니다.프록시 기본 개념프록시에 대해서 알아보자 클라이언트(Client)와 서버(Server)라고 하면 개발자들은 보통 서버 컴퓨터를 생각한다.사실 클라이언트와 서버의 개념은 상당히 넓게 사용된다. 클라이언트는 의뢰인이라는 뜻이고, 서버는 '서비스나 상품을 제공하는 사람이나 물건'을 뜻한다. 따라서 클라이언트와 서버의 기본 개념을 정의하면 클라이언트는 서버에 필요한 것을 요청하고, 서버는 클라이언트의 요청을 처리하는 것이다. 이 개념을 우리가 익숙한 컴퓨터 네트워크에 도입하면 클라이언트는 웹 브라우저가 되고, 요청을 처리하는 서버는 웹 서버가 된다. 이 개념을 객체에 도입하면, 요청하는 객체는 클라이언트가 되고, 요청을 처리하는 객체는 서버..
an_jjin
'분류 전체보기' 카테고리의 글 목록 (5 Page)