본문 바로가기

전체 글188

[Spring] Validation 목차 1. Validation ■ Validation이란? Validation은 올바르지 않은 데이터를 걸러내고 보안을 유지하기 위해 여러 계층에 걸쳐서 적용되는 것을 말합니다. Client의 요청 데이터가 모두 정상적인 방식으로 들어오는 것도 아니기 때문에 데이터의 유효성 검사를 해야 할 필요가 있습니다. ■ 설치 MVN에서 Validation을 버전에 상관없이 dependency에 작성 후 버전을 지우고 설치 2. Validation Exception 처리 @Valid를 사용하지 않고 직접 Exception을 만들어 조건을 주어 예외 처리를 진행하도록 하는 방법입니다. ■ 예시 a. CustomException 메세지를 매개변수로 가지는 생성자 메세지와 각 error들의 정보를 가질 수 있는 erro.. 2023. 8. 11.
[Spring] AOP(Aspect Oriented Programming) 목차 1. AOP(Aspect Oriented Programming) ■ AOP란? AOP는 관점 지향 프로그래밍으로 불립니다. 관점 지향은 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고 그 관점을 기준으로 각각 모듈화하는 것이며 모듈화는 공통된 로직이나 기능을 하나의 단위로 묶는 것을 말합니다.예를 들어 소스 코드상에서 계속 반복해서 쓰는 코드들을 발견할 수 있는데 이것을 흩어진 관심사(Crosscutting Concerns)라고 부릅니다. 이러한 흩어진 관심사를 Aspect로 모듈화하고 핵심적인 비즈니스 로직에서 분리하여 재사용하겠다는 것이 AOP의 취지입니다. ■ Spring AOP 특징 접근 제어 및 부가기능을 추가하기 위해서 Proxy 패턴 기반의 AOP 구현체, Prox.. 2023. 7. 25.
[Spring] 데이터베이스 연결(MyBatis) 목차 1. MyBatis ■ MyBatis란? MyBatis는 객체 지향 언어인 자바의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 할 수 있게 도와 주는 개발 프레임워크로서 JDBC를 통해 데이터베이스에 연결하는 작업을 캡슐화하고 SQL 쿼리와 자바 오브젝트간에 자동 매핑을 지원합니다. MyBatis에서는 프로그램에 있는 SQL쿼리들을 한 구성파일에 구성하여 프로그램 코드와 SQL을 분리할 수 있습니다. ■ MyBatis 설치 MVN REPOSITORY에서 MyBatis 버전 2.2.2를 pom.xml에 추가 resources 폴더 내에 mappers라는 폴더를 만들어 내부에 xml파일로 매핑 ■ MyBatipse 설치 MyBatipse는 Mapper내의 xml파일에서 namespace 내 변수의 패키.. 2023. 7. 25.
[Spring] DI(Dependency Injection), IoC(Inversion of Control) 목차 1. DI(Dependency Injection) ■ DI란? DI는 의존성 주입으로 의존 관계를 외부에서 결정해주는 것을 말한다. 예를 들어 A가 B를 의존한다라는 표현은 B의 기능이 추가되거나 변경되면 그 영향이 A에 미치는 것입니다. 2. DI 예시 ■ StudyApplication Test 인터페이스를 구현한 TestA, TestB, TestC라는 부품을 가지고 교체하여 사용 가능 package com.web.study; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import com.web.study.IocAndDi.Ioc.. 2023. 7. 25.
[Spring] 타임리프(Thymeleaf) 목차 1. Thymeleaf ■ Thymeleaf란? Thymeleaf는 웹 및 웹이 아닌 환경 모두에서 작동할 수 있는 템플릿 엔진입니다. 보통 자바에서 웹 개발시에는 JSP(Java Server Page)를 이용하는데 형태의 스크립트릿을 사용하여 자바 문법을 HTML에서 사용가능하게 해주는데 이 방식은 스크립트릿과 HTML이 섞인 상태가 되어 더 수정하기 어렵습니다. 이러한 상태를 해결하기 위해 템플릿 엔진을 사용하는데 템플릿 엔진은 HTML과 데이터를 결합한 결과물을 만들어 주는 도구입니다. 템플릿 엔진은 최초 한번 전체 페이지를 다 불러오고 응답데이터만 렌더링하는 SSR(Server Side Rendering) 방식입니다. ■ 설치 MVN REPOSITORY에서 Thymeleaf를 검색하여 Spr.. 2023. 7. 25.
[Spring] Controller, Dto 목차 1. Controller ■ BasicController @RestController은 응답인터페이스에서 무조건 데이터를 리턴하고 view로 리턴 불가능 @Controller는 view를 리턴하고, 응답인터페이스에 @Responsebody를 쓰면 데이터를 리턴 @RequestMapping을 사용하다가 spring 4.3이후에는 @GetMapping(uri)형식으로 사용 가능 대표적으로 @GetMapping, @PostMapping, @PutMapping, @DeleteMapping을 사용 자료형이 String일 때만 text로 응답하고 나머지는 JSON으로 응답 package com.web.study.controller; import java.util.ArrayList; import java.uti.. 2023. 7. 25.