반응형
운영 환경에서 발생하는 예외를 부적절하게 처리하면 문제의 원인을 찾기 힘들어집니다. 모든 예외는 적절하게 복구되거나 작업을 중단하고 관리자나 개발자에게 통보되어야 합니다. 예를 들어, 네트워크가 끊기거나 서버가 종료된 상황에서 예외를 단순히 콘솔에 출력하는 것으로는 문제가 해결되지 않습니다. 콘솔 출력은 실제 문제 해결에 도움이 되지 않으므로, 차라리 서버를 종료시키는 것이 더 나은 선택일 수 있습니다.무의미하고 무책임한 throws는 피하자개발자가 복구할 수 있는 예외 상황에도 불구하고, 무책임하게 throws를 사용하여 예외를 상위로 던지는 것은 적절하지 않습니다. 이러한 예외 처리 방식은 실제로 예외를 다룰 수 있는 기회를 빼앗기 때문에, 예외 처리 전략을 신중하게 선택해야 합니다.예외 처리의 기본..
스프링이란? 엔터프라이즈 어플리케이션 개발에 사용되는 어플리케이션 프레임워크 어플리케이션 기본 틀 - 스프링 컨테이너 스프링은 스프링 컨테이너라고 불리는 스프링 런타임 엔진을 제공 설정 정보를 참고해서 구성하는 오브젝트를 생성하고 관리함 독립적으로 사용 가능하지만 보통 서비스나 서블릿으로 등록하여 사용함 공통 프로그래밍 모델 - IOC/DI, 서비스 추상화, AOP 프레임워크 : 구성 오브젝트가 생성되고 동작하는 방식에 대한 틀을 제공해줄 뿐 아니라, 어플리케이션 코드가 어떻게 작성돼야 하는지 기준을 제시해줌, 스프링은 크게 3가지 핵심 프로그래밍 모델(틀)을 제공함 IoC 오브젝트의 생명주기와 의존 관계에 대한 프로그래밍 모델 스프링이 제공하는 모든 기술과 API, 심지어 컨테이너도 IoC/DI방식으로..
RestTemplate HTTP 통신을 간편하게 처리할 수 있는 클래스 RESTful 웹 서비스와 통신하기 위해 사용되며, 간단한 API 호출부터 복잡한 요청과 응답까지 처리할 수 있음 RestTemplate의 기능 HTTP 요청 보내기 : RestTemplate을 사용하여 GET, POST, PUT, DELETE 등의 다양한 HTTP 메서드를 사용하여 서버에 요청을 보낼 수 있다. HTTP 응답 받기 : RestTemplate을 사용하여 서버로부터 받은 HTTP 응답을 처리할 수 있습니다. JSON, XML 등의 응답 데이터를 Java 객체로 변환하는 기능을 제공 HTTP 요청 파라미터와 헤더 설정: RestTemplate을 사용하여 요청에 필요한 파라미터와 헤더를 설정할 수 있다. 에러 핸들링: Re..
Spring Template란 Spring Framework에서 제공하는 여러가지 기능을 담은 추상호된 클래스들을 의미 주로 개발자들이 특정 기술이나 프로토콜을 쉽게 다룰 수 있도록 도와주는 클래스이며 다양한 용도에 맞게 설계되어있음 Spring Freamework의 기능과 서드파티 라이브러리들을 더 쉽게 사용할 수 있도록 추상화된 인터페이스나 클래스로 제공 Spring Template을 사용하면 개발자들은 해당 기술이나 프로토콜의 세부 사항을 다룰 필요 없이 간단한 메서드 호출로 원하는 기능을 수행 할 수 있음 대표적인 Spring Template RestTemplate : RESTful 웹 서비스와 통신하기 위한 클래스, HTTP를 기반으로 서버와 데이터를 주고 받음 JdbcTempalte : Jav..
JWT(Json Web Token) 웹 기반 환경에서 정보를 안전하게 전송하기 위해 설계된 토큰 기반 인증 방식 클라이언트와 서버 간에 JSON 객체로 정보를 안전하게 전달 할 수 있도록 고완된 토큰이다 토큰 자체에 필요한 정보(토큰 만료시간, 유저 정보 등)를 모두 가지고 있어 별도의 데이터 베이스나 세션 상태를 유지할 필요가 없다(State less의 특징을 살릴 수 있다) JWT Token의 구조 Header : 토큰의 타입과 서명 알고리즘의 정보를 가지고 있음 { "alg": "HS256", "typ": "JWT" } Payload : 토큰에 담을 Claim들이 포함될 부분 Claim : 토큰에 담길 정보를 의미함, 사용자에 대한 정보, 권한, 토큰 유효 시간 등 { "sub": "user123"..
HttpServletRequset : HTTP 요청에 대한 정보는 담고 있는 객체 HttpServletRequset는 Spring 프레임워크에서 제공하는 인터페이스이다 사용하는 이유 : 클라이언트로 부터 요청된 정보를 추출하기 위해서 HTTP 요청에 대한 다양한 정보(헤더, 파라미터, 세션 등등 )를 추출하여 사용한다. HTTP 요청에 대한 모든 정보에 접근할 수 있음 @RequestBody Spring 프레임워크에서 제공하는 어노테이션으로 HTTP요청의 본문(Body)에 담겨있는 데이터를 *자바 객체로 매핑 * 하는데 사용한다 주로 POST, PUT, PATCH 같은 메서드로 데이터를 전송할 때 사용 클라이언트가 JSON,XML, 폼 데이터로 전송할 때 주로 자바 객체로 변환하여 컨트롤러 메서드의 매개..