DisPatchServelt에 의해 처리될 뷰를 직접 지정할 수 있고 Model(entity)부분에 있는 데이터를 전달 할 수 있도록 합니다.다음과 같이 ModelAndView는 크게 view,model,status로 구성되어있다.(1) view: view의 path를
HttopRequest를 View의 요청에따라서 Controller, 또한 Controller에서 다른 Controller 및 Handler로 데이터를 보낼 수 있도록 만들어준다.(데이터 이동 가능하게 해줌)출처:Springdocs(https://docs.sp
메모리,디스크저장소,리스너,캐시로더,Restful, Soap api들을 유용하게 사용할 수 있도록 도와줍니다.다음과 같은 종속성을 추가하면 사용 할 수 있다.public class CacheHelper {1.newCacheManagerBuilder() Api를 사용하여
AOP: Aspect Oriented Programming(관점지향프로그래밍) Spring FrameWork의 핵심기능중 하나인 AOP에 대해서 공부해보자. 일반적으로 코드의 중복사용을 줄이기 위하여 그리고 유지보수를 쉽게하기 위하여 함수,또는* 클래스*를 이용하였
Spring에서 제공하는 AOP 프록시패턴은 무엇일까? 프록시(Proxy)란 대리인 즉 대신해서 실행해주는 역할을 한다. 그렇다면 어떻게 프록시방법을 이용하여 AOP를 구현할 수 있을까? 다음은 현금을 지불할때 어떠한 방식으로 지불할지 결정하는 인터페이스,클래스 예제이
SpringFrameWork에서는 어떻게 어노테이션을 이용하여 AOP를 구현할 수 있을까? 먼저 Spring의 Aop 구현에 들어가는 핵심적인 어노테이션 및 용어에 대해서 알아보자.타겟(Target)핵심 기능을 담고 있는 모듈로 타겟은 부가기능을 부여할 대상이 된다.어
Java Persistence Api(자바 영속성 api)뜻하며 ORM을 제공하는 Java의 표준 Api이다.ORM: Java 개체를 데이터베이스 테이블에 매핑하거나 그 반대로 매핑하는 것을 ORM (Object-relational mapping)라고 한다. JDBC를
1.개요 javax.persistence 패키지 않의 수많은 어노테이션 인터페이스들이 존재한다. 이중에서 가장 많이쓰는 몇가지 어노테이션에 대해서 정리하였다. 2.정리 엔티티 관련 2.1.1) @Entity: 해당 어노테이션을 붙이게 되면 @Table
N+1문제는 LazyLoding으로 인해 발생하는 성능적인 문제다. 다음을 보자.예를 들어 학생과 선생의 엔티티가 다음과 같은 관계를 가지고 있다고 하자.2\. 활용
일반적으로 ApplicationContext을 통해 Container를 만드는 방법은 크게 세가지가 있다.첫번째, XML파일을 읽어들이는 레거시한방법두번째, Bean이 등록된 Configuration 클래스에서 읽어들이는 방법세번째, @Component에 등록된 클래
이를 활용하면 SQL문을 최대한 지양하고 Java로 개발할 수 있다.query dsl을 기반으로 Repository로 활용할 수 있는 법은 크게 세가지가 있다.일반적인 findbyId()와 같이 JpaRepositry에서 지원하는 기능들을 최대한 활용한채 동적인 쿼리나
특징: 클래스의 필드에 있는것 기반으로 사용가능특징: Class의 setter 기반으로 작동 및 setter열어야함.불변 객체 지향한다면 권장X특징: 생성자 기반,이때 바인딩 방식이용으로 생성자 넘기는 순서 달라질 수 있다.(클래스가 가지고있는 생성자이용X)특징: 생성
Spring security는 Spring 기반의 보안(인증+인가)를 담당하는 하위 프레임워크이다.이때 인증,인가 부분들은 수많은 Filter흐름에 따라 진행된다.기본적인 Architecture는 다음과 같다.SecurityContext: Security정보 담을 Se
연관관계에 놓여져 있는 다음 코드를 보자 다음은 Study도메인 ,StudyMember 도메인 , member도메인이 놓여져있다. 다음과 같이 있고 Study 1개에 Member5명이 주입이 되어있다고 가정하자. 그렇다면 StudyMember의 record는 총5개이
1\. 문제 제기Spring에서 제공하는 @Aspect를 사용하면 컴파일 빈으로 등록되어 다이나믹 프록시가 작동하게 된다. 하지만 이를 사용하게 되면 문제점이 발생 할 수 있다. aop로 등록한 두 메서드가 있을때,메서드에서 메서드를 호출하게 되면 내부메서드의 aop가
Aop(asepect oriented programming)을 하는데 있어서 우리는 시점을 정할 수 있다. 이를 위해 간단하게 java의 실행 프로세스를 보면 다음과 같다.이때 우리가 aop-weaving(크로스 커팅)할 수 있는 프로세스는 소스코드,컴파일 시점,바이트
핵심로직과 부가로직을 구분하기 위해서, 혹은 변하는 부분, 변하지 않는 부분을 나눠서 보기 위해서 AOP를 사용하는데 이를 구현하기 위한 여러가지 디자인패턴과 방법들이 있다. 각 방법들의 파이썬에서는 일급함수를 이용하는 방법도 있고, 상속의 방식을 이용한 탬플릿 메서드