분류 전체보기 82

[Spring] JDBC, JPA

JDBC - Java DataBase Connectivity JDBC API - DBMS 에 종속되지 않는 관련 API 를 제공.                    - 데이터베이스의 종류에 상관없이 똑같은 코드로 해결하도록 함.                   - 자바에서 데이터 베이스에 접속할 수 있도록 함.                   - JDK 에서 제공- JDBC API 는 설정한 데이터베이스에 맞는 드라이버를 사용하여 데이터베이스에 접근함. - JDBC는 인터페이스이고, 구현한 것은 각 데이터 베이스에 맞는 드라이버들이다. - 그 후에 Connection 객체 생성함. Connection Fool 에 미리 자주 사용하는 자원을 만들어서 초기화, 요청. 등        DDD (Domain D..

[Spring] 예외처리 - 비지니스 로직

개발자가 의도적으로 예외를 던질 수 있는 상황 - 백엔드 서버와 외부 시스템과의 연동에서 발생하는 에러 - 시스템 내부에서 조회하려는 리소스가 없는 경우 💡GlobalExceptionAdvice  @ExceptionHandler @ResponseStatus(HttpStatus.NOT_FOUND) public ErrorResponse handleBusinessLogicException(BusinessLogicException e) { // ErrorResponse 에서 BusinessLogicException를 파라미터로 받았을 때. (1) final ErrorResponse response = ErrorResponse.of(e); // ErrorResp..

Spring/예외처리 2024.06.15

[Spring] DTO

Client    -DTO-    API    -Entity-    Service    -Entity-    Repository    -DB - 계층 간 데이터 교환을 위한 객체. - DTO 와 Entity 의 변환 위치는 Controller layer에서 하는 것이 적당하다. - 로직을 가지고 있지 않은 순수한 데이터 객체. Getter/ Setter 메서드만 갖는다.  Entity - 실제 DB테이블과 1:1 로 매핑되는 클래스.   [Spring] Web Layer(웹 계층) 과 도메인 모델 패턴 - SW Developer1. Web Layer 흔히 사용하는 Controller와 JSP/Freemaker 등의 뷰 템플릿 영역이다. 이외에도 필터(@Filter), 인터셉터, 컨트롤러 어드바이스(@Co..

[Spring] 예외처리 - Spring MVC

bindingResult : 스프링이 제공하는 검증 오류 보관 객체. 검증 오류가 발생하면 BindingResult 객체에 보관.  - @ModelAttribute 바로 옆에 둬야 한다. ObjectError : 글로벌 오류. FieldError : 필드 오류. FieldError(검증 객체 이름, 오류가 발생한 필드 이름, 오류 기본 메시지) - 타입 오류로 바인딩에 실패하면 FieldError 를 생성하며 오류를 넣고, 해당 오류를 BindinResult 에 담아 컨트롤러를 호출.  @RestControllerAdvice  - 여러 개의 Controller 클래스에서 @ExceptionHandler 가 추가된 메서드를 공유해 사용할 수 있다. - 이 에너테이션을 추가한 클래스를 통해 예외 처리를 공통..

Spring/예외처리 2024.06.13

[Spring] 예외처리 - 정적 팩토리 메서드

예외  - checked Error : class 파일로도 안 바뀌고 그 전에 찾아서 멈취버림. 컴파일이 안 됨. 사용자가 처리를 해줘야 함.   - unchecked Error : 사용자가 예외처리 안 해도 컴파일 되는 에러.                                   안해도 컴파일이 됨. 코드가 실행됐을 때 에러 발생. 어떠한 수를 0으로 나눌 때. 에러 : 개발자의 손을 떠나감.   1. 생성자가 오버로딩이 되는데 static으로 안 만들고 생성자로 만들면되지 않느냐 - 생성자는 객체를 만들거라는 의미 밖에 없음. - 생성자로 오버로딩 하면 static 을 못함. 어찌됐든 객체를 만들어야 함.  - 정적 팩토리 메서드(Static Factory Method) Static Metho..

Spring/예외처리 2024.06.13

[Spring] Spring 아키텍쳐, MVC

- Spring MVC 는 레이어드 아키택쳐 중 하나 인 거고.- 이걸 구현한게 Spring 인거라 이름이 그렇게 지어짐 . - Spring Container 인 거임. servlet Container 에 Spring Container 포함.  Controller - Service - Repository 의 구현 관계 . MVC 패턴은 말그대로 디자인 패턴이고 Spring MVC 프레임 워크는 MVC 기반의 개발 공간이라 보면 된다.굳이 표현하자면 스프링 프레임 워크는 MVC 패턴 기반으로 만들어 졌다고 보면 된다. https://sigridjin.medium.com/servletcontainer%EC%99%80-springcontainer%EB%8A%94-%EB%AC%B4%EC%97%87%EC%9D%B..

Spring/API 계층 2024.06.12

[Spring] annotation 1 - API 계층

DTO에 적용된 유효성 검증 @NotBlank - null, 공백, 스페이스 같은 값은 모두 허용되지 않음.         - 비어있는 값을 넣을 때 오류라고 돌려버림.        - patch 로 하나씩 원하는 값을 넣어야 할 때는 알맞지 않음. @Pattern - 정규표현식을 활용해서 유효한 값인지 파악.          - Null 일 경우 그냥 통과. 내부의 정규표현식은 단 하나라도 문자열이 있을 때 검증.          - 빈 문자열도 문자열이라서 검사함.  >> 유효성 검증 애너테이션이 추가된 DTO 클래스에서 유효성 검증 로직이 실행되려면 @Valid 를 붙여야 함. @Valid - 객체의 검증 , 유효성 검사를 다 만들어 놓고 안 붙여 놓으면... 유효성 검증이 안됨. 파라미터 부분에 ..

Spring/API 계층 2024.06.11

[Spring] Spring 웹 애플리케이션 계층 구조

[Spring]스프링 계층 구조 - Controller, Servcie, Repository, DAO, DTO, Entity★ Spring 웹 어플리케이션 계층 구조 다음 그림은 스프링의 계층 구조를 전체적으로 나타낸 것입니다. 스프링의 웹 계층은 다음 4가지 계층으로 나뉩니다. Domain Model Presentation Model(Controller) Businessiridescent-zeal.tistory.com- 계층구조는 레거시 한 이야기 이기도 함. ⭐️Application Layer- HTTP : HTML 과 같은 문서를 전송하기 위한 프로토콜.               : 웹 브라우저와 웹 서버의 소통을 위해 디자인되었음. Requests 요청   = POST, PUT, GET 과 같이 ..

[Java] boolean , if문

📚문제상황 1. isChecked 의 초기화를 false로 했는데, 밑에 ! isChecked 를 하는 이유는 뭐지?  💡if문- 조건식이 true일 때 실행문을 동작하는 것임. if(조건식) { // 조건식이 true일 때 아래 실행문을 동작 실행문 ; ....} else { // 조건식이 false 일 때 실행 } [JAVA/자바] 조건문(if문, if else문, else if문) 이번 포스팅은 조건문 중 if / if else / else if문에 대해서 알아보도록 하겠다. 조건문을 익히고 ...blog.naver.com 🔎 해결boolean 의 초기값은 false 임.false, true 일 때 각자 어떤 일을 수행하라고 코드를 짜 넣을 수 있는데, false 일 때에는..

Language/Java 2024.06.08

[Java] 기타 제어자

전에 인스턴스 변수 먼저 무엇인가. 클래스 변수는 static 변수. 인스턴스 변수는 인스턴스가 생성되었을 때.  [java] 클래스변수, 인스턴스 변수 차이(static변수와 non Static변수) - Break Out of Your Comfort Zone목차 클래스 변수, 인스턴스 변수 클래스 변수, 인스턴스 변수, 지역 변수가 메모리에 적재되는 위치 클래스 변수(Static)의 주의점, 클래스 변수가 필요한 이유 클래스 변수, 인스턴스 변수sujinhope.github.io 💡static * 멤버 변수    - 모든 인스턴스에 공통으로 사용되는 클래스 변수.    - 인스턴스를 생성하지 않고도 사용 가능. * 메서드    - 인스턴스 생성 않고도 호출 가능.    - static 메서드 내에서 ..

Language/Java 2024.06.08