프로그래밍/Spring Boot (28) 썸네일형 리스트형 Spring Boot_MyBatis 설정 MyBatis란 ? : 자바 객체와 SQL문 사이의 자동 매핑을 지원하는 매퍼 프레임 워크이다. MyBatis에서는 SQL 쿼리를 작성할 때 XML 또는 어노테이션을 이용해서 작업할 수 있다. 이를 통해 쿼리 구문을 작성하고 데이터 베이스와 통신을 수행할 수 있다. MyBatis는 매우 유연한 구조를 가지고 있어 SQL 쿼리와 자바 객체의 매핑 규칙을 세부적으로 지정할 수 있으며 동적 SQL 쿼리 구분을 작성할 수 있게 지원한다. 1. yml 파일에 MyBatis 설정하기 mybatis: mapper-locations: - classpath:mapper/**.xml configuration: map-underscore-to-camel-case: true 2. 의존 주입할 인터페이스에 @Mapper 어노테.. Spring Boot_H2 DB 초기 설정 H2 메모리 DB 초기 테이블 설정 및 초기 데이터 셋팅 1. 이클립스 마켓 플레이스 > sql 검색 > sql editor 1.4.0 설치 2. yml 파일 확인 및 추가 설정 yml 파일에 아래 코드 추가 sql: init: schema-locations: - classpath:db/table.sql data-locations: - classpath:db/data.sql 전체 코드 server: port: 8080 servlet: encoding: charset: utf-8 force: true spring: mvc: view: prefix: /WEB-INF/view/ suffix: .jsp datasource: url: jdbc:h2:mem:testdb;MODE=MySQL driver-class-n.. Spring Boot_인터셉터(Interceptor) 인터셉터 (Interceptor) 란 ? : Interceptor란 FIlter와 매우 유사한 형태로 존재하지만, 차이점은 Spring Context에 등록된다. 주로 인증 단계를 처리하거나, 로깅(Logging)을 하는데 사용한다. 이를 선/후 처리함으로써, business logic과 분리시킨다. → Interceptor를 구현하려면 HandlerInterceptor 인터페이스를 구현하는 클래스를 만들어야 한다. 1. preHandle() : 컨트롤러가 실행되기 전에 호출되는 메서드, 이 메서드는 요청을 가로채서 필요한 작업을 수행한 후 요청 처리가 계속되어야 하는지 여부를 결정한다. (true이면 요청 처리 O, false이면 요청 처리X) 2. postHandle() : 컨트롤러 실행 후 호출되지.. Spring Boot_필터(Filter) 필터(Filter) : Spring Boot에서 필터는 웹 애플리케이션 영역에서 관리된다. 필터는 요청 및 응답을 처리하기 전에 특정 작업을 수행할 수 있는 컴포넌트로, 클라이언트 요청이 실제 서블릿이나 컨트롤러에 도달하기 전에 실행된다. 마찬가지로 응답이 클라이언트로 돌아가기 전에 필터를 거친다. 필터는 웹 애플리케이션 영역에서 관리되지만, 스프링 컨테이너가 필터를 인식하고 관리할 수 있도록 구성되어 있다. 그러나 필터는 스프링 컨테이너의 앞에 위치하며, 서블릿 컨테이너 또는 임베디드 웹 서버와 같은 웹 컨테이너 내에서 실행된다. 이렇게 하여 필터는 컨트롤러나 서블릿에 도달하기 전에 요청을 가로챌 수 있다. 필터 사용 목적 1. 인증 및 인가 : 사용자의 자격 증명을 확인하고 요청된 리소스에 대한 액세.. Spring Boot_예외 처리 Spring Boot Exception : 스프링 부트 예외처리 기술 @RestControllerAdvice, @ControllerAdvice → @ExceptionHandler(value = 예외클래스이름.class) User.java HTML 삽입 미리보기할 수 없는 소스 CustomError.java HTML 삽입 미리보기할 수 없는 소스 ApiController.java HTML 삽입 미리보기할 수 없는 소스 GlobalControllerAdvice.java HTML 삽입 미리보기할 수 없는 소스 → 모든 예외 처리와 특정 예외 처리로 나누어 예외를 처리할 수 있다. 결과 화면 → @RestControllerAdvice는 @ResponseBody가 있어서 응답을 Json으로 내려준다. Spring Boot_유효성 검사(Validation) 유효성 검사 (Validation) : 올바르지 않은 데이터를 걸러내고 보안을 유지하기 위해 유효성을 검사하기 위해 사용한다. ex) 자바에서는 null값에 대해서 접근하려고 할 때 NullPointException이 발생하기 때문에 이러한 부분을 방지하기 위해 미리 검증하는 과정을 Validation이라고 한다. POST 방식일 때와 GET방식일 때의 유효성 검사 사용방법은 약간 다르다. POST 방식일 땐 매개변수에 반드시 @Valid를 선언해주어야 하고, GET 방식일 땐 클래스에 반드시 @Validated를 선언해주어야 한다. Validation 어노테이션 @Size 문자 길이 측정 @NotNull null 불가 @NotEmpty null, "" 불가 @NotBlank null, "", " " 불.. Spring Boot_어노테이션 어노테이션 : 스프링 부트에서는 클래스와 메서드에 어노테이션을 추가하여 다양한 기능을 부여하도록 할 수 있다. Annotation 의미 @SpringBootApplication Spring boot application으로 설정 @Controller View(화면)를 제공하는 controller로 설정 @RestController REST API를 제공하는 controller로 설정 @RequestMapping URL 주소를 맵핑 @GetMapping Http GetMethod URL 주소 맵핑 @PostMapping Http PostMethod URL 주소 맵핑 @PutMapping Http PutMethod URL 주소 맵핑 @DeleteMapping Http DeleteMethod URL 주소 맵핑.. Spring Boot_AOP 관점 지향 프로그래밍 AOP 관점 지향 프로그래밍 : AOP(Aspect-Oriented Programming)는 OOP(Object-Oriented Programming)의 보완적인 개념이다. 프로그램을 구성하는 여러 모듈에서 공통적으로 사용하는 코드를 분리하여 재사용성과 유지 보수성을 향상 시키는 프로그래밍 기법이다. → 핵심 코드와 부가적인 코드(ex> 방어적 코드) 분리 AOP는 Aspect와 Advice를 사용하여 구현하며, @Aspect 어노테이션과 @Before, @After, @Pointcut 등의 어노테이션을 사용하여 정의한다. → @Before 메서드 수행 전, @After 메서드 수행 후, @Pointcut 관심 조인 포인트를 결정하므로 실행되는 시기를 제어할 수 있음. UserDTO.java HTML 삽.. 이전 1 2 3 4 다음 목록 더보기