목록분류 전체보기 (17)
임도현의 성장
📌 MyBatis Mybatis는 데이터베이스로부터 직접 SQL문으로 데이터를 가져오고 객체(Entity든지, DTO든지, VO든지)에 반영하여 사용하도록 해주는 데이터베이스 접근 프레임워크이다. MyBatis의 가장 매력적인 점은 SQL을 XML에 편리하게 작성할 수 있고 또 "동적 쿼리"를 매우 편리하게 작성할 수 있다는 점이다. 📒의존성 주입 build.gradle에 다음 의존 관계를 추가한다.//MyBatis 추가implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.3'📒 properties 설정 mybatis.type-aliases-package : 마이바티스에서 "타입 정보"를 사용할 때는 패키지 이름을 적어주어..
📌 쿠키 Cookie웹사이트를 방문할 때 클라이언트(브라우저) 로컬에 저장되는 키와 값이 들어있는 작은 데이터 조각이다.쿠키 종류영속 쿠키 : 만료 날짜를 입력하면 해당 날짜까지 유지세션 쿠키 : 만료 날짜를 생략하면 브라우저 종료시 까지만 유지쿠키 동작 방식 클라이언트가 페이지를 요청서버에서 쿠키를 생성HTTP 헤더에 쿠키를 포함 시켜 응답브라우저가 종료되어도 쿠키 만료 기간이 있다면 클라이언트에서 보관하고 있음같은 요청을 할 경우 HTTP 헤더에 쿠키를 함께 보냄서버에서 쿠키를 읽어 이전 상태 정보를 변경 할 필요가 있을 때 쿠키를 업데이트 하여 변경된 쿠키를 HTTP 헤더에 포함시켜 응답📒쿠키 생성로그인에 성공하면 쿠키를 생성하고 HttpServletResponse 에 담는다. 쿠키 이름은 me..
데이터 모델링이란정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법현실 세계의 데이터를 약속된 표기법으로 표현하는 과정데이터베이스를 구축하기 위한 분석 및 설계의 과정 데이터 모델링 유의점 증복 : 여러 장소에 같은 정보를 저장하지 않도록 하여 증복성을 최소화 한다.비유연성 : 업무변화에 데이터 모델이 수시로 변경되면 안됨. 데이터 정의를 사용 프로세스와 분리한다.비일관성 : 데이터 간 상호 연관 관계에 대해 명확히 정의해야 한다. 데이터 모델링의 3단계 (개논물)개념적 모델링 : 높은 추상화수준 논리적 모델링 : 재사용성 높은 물리적 모델링 : 물리적인 성격을 고려해 설계 데이터 모델의 특징 추상화 : 현실세계를 일정한 형식에 맞추어 표기단순화 : 복잡한 현실을 제한된 언어나 표기법을 통해 이..
인터셉터 Interceptor 란?스프링 인터셉터는 스프링 MVC가 제공하는 기술이다스프링부트에서 인터셉터는 웹 애플리케이션에서 요청과 응답을 처리하는 중간 단계에서 사용된다. 인터셉터는 특정 URI 패턴에 대한 요청을 가로채어, 컨트롤러가 처리하기 전후에 추가적인 작업을 더욱 효율적으로 할 수 있게 해 준다.1. 스프링 인터셉터 흐름스프링 인터셉터는 디스패처 서블릿과 컨트롤러 사이에서 컨트롤러 호출 직전에 호출 된다.HTTP 요청 -> WAS -> 필터 -> 서블릿 -> 스프링 인터셉터 -> 컨트롤러스프링 인터셉터는 체인으로 구성되는데, 중간에 인터셉터를 자유롭게 추가할 수 있다. 예를 들어서 로그를 남기는 인터 셉터를 먼저 적용하고, 그 다음에 로그인 여부를 체크하는 인터셉터를 만들 수 있다.HTTP..
Bean Validation 이란? 먼저 Bean Validation은 특정한 구현체가 아니라 Bean Validation 2.0(JSR-380)이라는 기술 표준이다. 쉽게 이야 기해서 검증 애노테이션과 여러 인터페이스의 모음이다. Bean Validation을 잘 활용하면, 애노테이션 하나로 검증 로직을 매우 편리하게 적용할 수 있다. 1. validation 의존성 주입 build.gradle 에 의존관계를 추가하면 라이브러리가 추가 된다implementation 'org.springframework.boot:spring-boot-starter-validation' 2. 테스트 코드 작성@Datapublic class Item { private Long id; // @NotBl..