SpringBoot 6

Interceptors & Filters

1. Filter & Interceptor 기본 개념 모든 사용자가 같이 필요한 기능 ex ) 로그인, 보안 일반적인 spring application의 모습 springboot는 tomcat이 둘러싸게 됨 = web container 1. Filter 보안을 구현하기 위해 filter 사용 - springboot 외부에 있는 기능 - 외부client과 dispatcher servlet 사이에 들어옴 - Filter : jakarta servlet api의 일부 - spring framework의 일부분이 아니라 java로 만든 웹서버에서 사용하게 되는 interface - springapplication에 도달하기 전에 모든 요청 막아 낼 수 있음 - 한개의 함수만 존재 doFilter() 함수 ​인자..

SpringBoot 2022.03.24

Exception Handling - 강의 정리

1. JAVA의 예외처리 Exception 특수한 처리를 필요로 하는 비상적 또는 예외적 상황 1. try-catch 사용 try : 예외 일어날 수 있는 구역 catch : 예외 발생 시 실행 finally : 예외의 발생과 무관 2. throws - 함수 호출하는 대상이 method signiture을 보고 그 예외 - 예외처리를 호출하는 대상에게 전가 - 처리되지 않은 예외는 compile error를 발생시킴 (Runtime Exception 제외) 2. Spring Boot의 예외처리 방법들 - ResponseStatusException : 단발적 예외 - @ExceptionHandler : controller 내부 예외 처리 - HandlerExceptionResolver : 예외 처리 han..

SpringBoot 2022.03.24

Validation - 강의정리

springboot에서 validation을 어떻게 진행하는지 알아보기 1. 사용자 입력 검증 0. 개요 PostDto 클래스 변수 - 제약사항들이 있음 제목 : 비어있지 않아야 함 본문 : 400자 이하 작성자 : 3자 이상 10자 이하 - 사용자의 입력은 어떻게 들어올지 예측하기 어려움 - 제약사항을 지키기 위한 것을 소스코드 상에서 일일이 확인하기 매우 고됨 => 사용자의 입력을 검증하는 부분이 Validation으로 구현함. 1. Jakarta Bean Validation = Java Bean Validation : 명세를 사용해서 사용자의 입력을 검증함 이 자체로 기능하지 않음 명세를 제공하기 위해 존재 1) JPA와 Hibernat Orm과의 관계와 비슷함 - jpa : entitiy가 db상..

SpringBoot 2022.03.22

Spring AOP -강의정리

더보기 AOP가 뭔지 가볍게 살펴볼 예정 1. Aspect Oriented Programming 0. 개요 어느 한 함수 처리에 걸리는 시간 측정하고 싶다 - 실제 서비스의 흐름과는 별개 ex ) 로그 남기기 / 서비스 제공을 위한 기능 - 서로 직접적인 연관은 없음 ex ) 게시글 읽기, 게시판 목록 불러오기 -> 연관성 없지만 같은 기능의 일부분 구현해줘야됨. -> 동일한 코드 반복해서 들어가게됨-> 좋은 코드 아님 1. AOC : 서로 다른 비즈니스 로직이 공통적으로 가지는 관심에 대해 고민하는 개발 지향 - log를 남기는 기능 -> 어떤 비즈니스 로직에 포함되어야함 - but 반복되면 소스코드 복잡, 지저분해짐 3가지 시나리오 살펴보기 - 실행할 때 걸리는 시간 - 실행할 때 들어오는 함수의 인..

SpringBoot 2022.03.22

Logging -강의

logging을 깊게 파고들진 x, 가장 기본적으로 알아야 될 범위만 알 예정 -> 디버깅 할 때 좋음 logging : 정보 얻기 위해 하는것. 너무 깊게 파고들지 x 1. Logging의 기본 개념들 1. Log 남기기 : trace, debug, info, warn, error - 5가지 Log level을 이용하여 메세지를 남김 - fatal, notice등 추가적인 것들은 어떤 언어를 사용하느냐에 따라 달라짐 js 등.. log남기기란? : 상용서비스에서 프로그램이 돌아가는 것을 확인 하기 위해, 어떤 시점에 뭐가 나타나는지 log를 남겨서 확인 System.out.println으로 진행과정 중간 확인 하듯 logging 도 마찬가지 id 사용할 때 : debug tool 사용-> 어느시점에 어..

SpringBoot 2022.03.22

Spring Boot Properties - 강의 정리

sb 설정을 어떻게 하는지 / 왜 필요한지 ##설정 파일 작성 1.서버 컴퓨터 + jdk 활용 -> java 실행 2.도커를 활용해서 container로 application 만듬 3.클라우드 서비스 ->관계형 db서버 제공 등 여러가지 방법있음. 어디에서 app실행하냐에 따라 설정 다르게 해줘야됨. 실제 서비스 실행하는 데는 여러가지 다양한 환경 구성할 수 있음 상황에 맞는 application 설정이 이번 영상의 목표 사용하는 dp에 따라 다르게 설정 어떤식으로 적용할 것인지 살펴보기로 원래 사용하던 설정값들이 조금씩 바뀜. application.yml 1. Multi-Document yml 1.test환경에서 만들기 위해 필요한 file 만들 경우 springboot 실행시 위쪽 두줄 확인 no a..

SpringBoot 2022.03.22