[Q&A] SpringBoot3 Test

Featured image for [Q&A] SpringBoot3 Test

이 글은 AI와의 질의응답 과정에서 얻은 정보를 요약하고 정리한 내용입니다. 1. WebMVCTest, SpringBootTest 차이점 Spring 테스트에서 사용되는 애너테이션인 @AutoConfigureMockMvc, @WebMvcTest, @SpringBootTest는 각각 테스트의 범위, 속도, 의존성 주입 대상 등을 다르게 설정하는 데 사용된다. 가. WebMvcTest 나. SpringBootTest 다. AutoConfigureMockMvc 라. 결론 애너테이션 목적 로딩 범위 MockMvc 자동 설정 테스트 속도 주의할 점 @WebMvcTest 단위 테스트 … 더 읽기

[Spring] SOP & CORS

Featured image for [Spring] SOP & CORS

CORS(교차 출처 리소스 공유) | 토스페이먼츠 개발자센터 CORS를 번역하면 “교차 출처 리소스 공유”에요. ‘두 출처가 서로 다르다’는 뜻인데요. CORS를 설정한다는 건 ‘출처가 다른 서버 간의 리소스 공유’를 허용한다는 거죠. 1. Origin이란? 2. SOP란? SOP(Same-Origin Policy, 동일 출처 정책)는 웹 보안의 중요한 개념 중 하나로, 특정 출처(origin)에서 로드된 문서나 스크립트가 다른 출처의 리소스와 상호작용하지 못하도록 제한하는 … 더 읽기

[Spring] SpringBoot

Featured image for [Spring] SpringBoot

1. SpringBoot란? Spring Boot Spring Boot는 제품 수준의 Spring 애플리케이션을 쉽게 만들 수 있게 도와준다. Spring 플랫폼과 다른 라이브러리를 활용하면, 복잡한 설정 없이 바로 시작할 수 있다. 대부분의 Spring Boot 애플리케이션은 간단한 Spring 설정만 필요하다. 2. 시작하기 가. Spring initializr https://start.spring.io SpringBoot 프로젝트를 생성하는 하나의 방법. dependency를 쉽게 추가할 수 있다. 나. Spring Starter Project … 더 읽기

[Spring] Rest API

Featured image for [Spring] Rest API

1. Rest란? URI + HTTP Method (GET/POST/PUT/DELETE) HTTP URI를 통해 제어할 자원을 명시하고, 어떤 제어를 명령할지는 HTTP Method를 통해 설정하는 방식. Method 설명 POST Create GET Read PUT, PATCH Update DELETE Delete 서비스 유형 설명 기존의 서비스 요청 처리 후, 가공된 데이터를 이용해 특정 플랫폼에 적합한 형태의 View로 반환 Rest 서비스 데이터 처리만 하거나, 처리 … 더 읽기

[Spring] MyBatis-Spring module

Featured image for [Spring] MyBatis-Spring module

mybatis-spring 1. 설치 MyBatis-Spring module을 사용하기 위해서는 mybatis-spring-3.0.3.jar 파일과 그 외 dependencies를 classpath에 추가해야 한다. 단, Maven을 사용하는 경우 pom.xml에 아래 코드를 추가하면 된다. MyBatis-Spring module을 사용하기 위해서는 Spring application context에 두 가지를 설정해야 한다. 2. 설정 SqlSessionFactory와 최소 하나 이상의 mapper interface가 정의되어야 한다. 거기에 mapper interface에서 SQL문을 별도의 XXXmapper.xml로 분리한다면 총 3개의 파일이 … 더 읽기

[MyBatis] 동적 SQL

Featured image for [MyBatis] 동적 SQL

MyBatis 3 | Dynamic SQL – mybatis 1. 동적 SQL JDBC에서 동적으로 쿼리문을 만드는 것은 꽤나 고통스럽다. 공백 문자와 콤마 하나도 신경 써야 한다. MyBatis를 사용하면 고통을 줄일 수 있다. MyBatis의 Dynamic SQL은 JSTL과 그 사용법이 비슷하다. 아래 예시는 MySQL을 기준으로 한다. 2. if 조건을 충족하면 동적으로 AND title like #{title}를 추가한다. 3. choose, when, … 더 읽기

[MyBatis] MyBatis란?

Featured image for [MyBatis] MyBatis란?

  0. pdf 읽고 정리하기. 1. ORM이란? 2. MyBatis란? Java Object와 SQL문 사이를 자동으로 Mapping하는 ORM framework. SQL을 별도의 파일로 분리해서 관리하다. SQL에 변경이 있을 때마다 자바 코드를 수정하거나 컴파일하지 않아도 된다. SQL을 전담하는 DBA와 협업이 원활하다. 새로운 DB 프로그래밍 패러다임에 대한 부담 없이, 익숙한 SQL을 그대로 이용하면서 JDBC 코드 작성의 불편함을 줄일 수 있다. … 더 읽기

[Spring] Connection Pool

Featured image for [Spring] Connection Pool

1. Connecion Pool이란? Connection Pool은 데이터베이스와의 Connection을 미리 생성하고, 이를 Pool에서 관리하는 기술이다. 데이터베이스로의 추가 요청이 필요할 때 연결을 재사용할 수 있도록 관리되는 데이터베이스 연결의 캐시이다. Connection Pool이 시작될 때 특정한 수의 물리적 커넥션을 만들며 이는 애플리케이션 실행 중에 커넥션 생성, 해제하는 오버헤드(Overhead)를 줄여준다. 또한, 동시에 많은 요청이 들어와도 안정적으로 처리할 수 있게 해준다. 2. … 더 읽기

[Spring] File Upload & Download

Featured image for [Spring] File Upload & Download

  0. 기존 포스팅 추가한 이유: 1. File Upload 가. pom.xml 나. servlet-context.xml id는 반드시 multipartResolver로 등록한다. 다. web.xml servlet이 Multipart를 처리하도록 설정. 설정 설명  <max-file-size> 업로드 하는 파일의 업로드 가능한 최대 파일 사이즈. 바이트 단위. -1로 설정 시 크기 제한 없음(default)  <max-request-size> 한번의 요청에 포함된 전체 Multipart 요청 데이터의 최대 크기. 바이트 단위. -1로 … 더 읽기