전체 글 375

46.03_[Spring MVC] JDBC 기반 데이터 액세스 계층_Spring Data JDBC 실사용_22.10.27

Spring Data JDBC 사용하기 >dependencies 추가 //의존 라이브러리 추가 implementation 'org.springframework.boot:spring-boot-starter-data-jdbc' //인메모리 데이터베이스 추가 runtimeOnly 'com.h2database:h2' In-memory DB애플리케이션을 실행하는 동안만 잠시 사용하는 데이터베이스이다. 말 그대로 메모리 안에 데이터를 저장하기 때문에 애플리케이션을 종료하면 In-memory DB에 저장된 데이터는 휘발된다. 하지만 오히려 이 휘발되는 특징과 간단한 사용때문에 개인 PC에서 개발할 때, 테스트 용도로 많이 사용된다. 쓸데없는 데이터가 없고, 테스트가 끝나면 데이터를 깔끔히 비워 항상 초기 상태를 유지..

46.02_[Spring MVC] JDBC 기반 데이터 액세스 계층_Spring 데이터 액세스 기술 유형_22.10.27

Spring에서 사용가능한 데이터 액세스 기술 mybatis Spring JDBC Spring Data JDBC JPA Spring Data JPA SQL 중심 기술 : mybatis, Spring JDBC 가 대표적인 SQL 중심 기술이다. : SQL 중심 기술은 SQL 쿼리문을 애플리케이션 내부에 직접 작성하여 애플리케이션에서 데이터베이스를 접근하는 것이 핵심인 기술이다. : 즉 java 코드에서 SQL 쿼리문이 직접적으로 포함되어 있는 것을 볼 수 있다. : 많이 사용해왔던 방식이지만, 현재는 객체 중심 기술로 이전을 꾀하는 추세이다 객체 중심 기술(ORM, Object-Relational Mapping) : JPA 가 대표적인 객체 중심 기술이다. : SQL 쿼리문으로 직접 작성한 코드로 데이터베..

46.01_[Spring MVC] JDBC 기반 데이터 액세스 계층_JDBC_22.10.27

JDBC : Java Database Connectivity : Java에서 제공하는 데이터 액세스 기술(표준 사양, 스펙, 명세라고도 함) : Java 기반의 애플리케이션에서 사용하는 저수준 API로 기억하고 사용법을 열심히 학습할 필요는 없다. : 직접적으로 JDBC API를 사용할 일은 거의 없다. Spring Data JDBC, Sprng Data JPA를 많이 사용. Spring Data JDBC : Spring에서 제공하는 데이터 액세스 기술 : 전송한 요청 데이터를 기반으로 데이터베이스의 데이터를 저장, 수정, 조회, 삭제하는 기술 JDBC 동작 흐름 1. Java Application 2. JDBC API(API 사용 전 JDBC 드라이버 먼저 로딩함) 3. JDBC Driver 4. Da..

[Spring]예외 전환

예외 전환 1. Checked Exception이 Runtime 도중 발생할 수 있다. 2. 1번의 상황일 경우, 처리가 너무 번거로워지므로 @RestControllerAdvice로 보내서 UnChecked Exception 처럼 처리해버린다. 3. 이를 예외 전환이라고 한다. Checked Exception은 원래는 try catch로 잡고 문제를 처리하는게 맞다. 하지만 Checked Exception 예외가 언제 어디서 무엇 때문에 발생할 지 미리 알고 다 try catch로 잡기는 힘들다. 그렇기 때문에 예외 전환을 사용해서 Unchecked Exception 으로 취급하여 예외에 대한 메세지를 명확하게 전달하는게 효과적일 수 있다.

Memo/짧은 메모 2022.10.27

45.02_[Spring MVC] 예외 처리 큰 흐름 정리_22.10.26

>Spring의 에러 응답 메세지 : Spring은 애플리케이션에 예외가 발생할 경우, 내부적으로 에러 응답 메세지를 전송해줌. : 하지만 Spring의 에러 응답 메세지는 어떤 부분에서 어떤 잘못때문에 에러가 난 것인지 알기 힘듬 >@ExceptionHandler의 사용 : @ExceptionHandler는 메서드에 붙일 수 있는 애너테이션으로, 해당 메서드는 인자로 Exception class 참조 변수를 제공받는다. : 따라서, 인자로 제공받는 Excetion에 대한 에러 응답 메세지를 개발자가 직접 처리할 수 있게 만든다. : @ExceptionHandler가 붙은 메서드를 사용하면 Spring의 에러 응답 메세지를 보다 구체적으로 만들어 출력할 수 있다. : 응답 메세지의 내용이 @Excepti..

카테고리 없음 2022.10.26

45.01_[Spring MVC] 예외 처리_(2) Business Logic Exception_22.10.26

Service Layer Exception Handling >애플리케이션에서 발생하는 예외 구분 -Checked Exception : 발생한 예외를 catch하여 체크한 후 체크한 예외를 복구 및 회피와 같은 구체적인 처리를 해야 하는 예외를 의미함. : 예시로, ClassNotFoundException 등이 있다. -Unchecked Exception : 발생한 예외를 catch하되, 예외에 대한 처리를 따로 할 필요가 없는 예외를 의미함. : 예시로, NullPointerException, ArrayIndexOutOfBoundsException 등이 있음. : 보통 Unchecked Exception은 코드 작성에서 실수가 있어 발생하는 경우이고, 이런 경우의 예외들은 보통 RuntimeExcepti..

[Spring] @RestControllerAdvice

@ExceptionHandler @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface ExceptionHandler { ... } @ExceptionHandler은 던져진 예외를 잡아서(catch) 처리해주는 메서드에 붙는 애너테이션이다. @ControllerAdvice @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Component public @interface ControllerAdvice { ... } @ExceptionHandler, @ModelAttribute, @InitBinder 가 적용된 ..

Memo/짧은 메모 2022.10.26

[IntelliJ] Found Invalid Gradle JVM configuration

>Found Invalid Gradle JVM configuration, please fix java_home environment variable 인텔리제이를 킬 때, 어느 순간부터 항상 오른쪽아래 알림으로 뜨던 메세지였다. (아마 다른 Spring boot를 받아 킬 때 부터이지 않을까 싶다.) JAVA_HOME 환경 변수를 고치라고 하는데, 항상 문제 없이 됐었고, 환경 변수에 문제도 없었기에 그냥 무시를 했었다. 그런데 갑자기 불안한 마음에 혹시 몰라 꼼꼼히 체크를 해봤다. 1. [File] - [settings] - [Build, Execution, Deployment] - [Build tools] - [Gradle] 위 경로로 설정창을 확인하면 아래 Gradle JVM이 나온다. 목록을 확인하..

Error/Spring Error 2022.10.25