반응형
스프링이란? 엔터프라이즈 어플리케이션 개발에 사용되는 어플리케이션 프레임워크 어플리케이션 기본 틀 - 스프링 컨테이너 스프링은 스프링 컨테이너라고 불리는 스프링 런타임 엔진을 제공 설정 정보를 참고해서 구성하는 오브젝트를 생성하고 관리함 독립적으로 사용 가능하지만 보통 서비스나 서블릿으로 등록하여 사용함 공통 프로그래밍 모델 - 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, 폼 데이터로 전송할 때 주로 자바 객체로 변환하여 컨트롤러 메서드의 매개..
Spring - DI Spring은 DI(Dependency Injection) 기능을 제공하는 프레임워크 중 하나이다. DI는 의존성 주입이라는 의미로 객체지향 프로그래밍에서 객체 간의 관계를 형성하는데 있어서 중요한 개념이다. DI를 통해 객체 간의 결합도를 낮출 수 있고, 코드의 유지보수성과 테스트 용이성을 향상 시킬 수 있다. DI는 일종의 제어의 역전(Inversion of Control. IoC) 개념으로, 객체를 직접 생성하고 관리하는 것이 아니라, 외부에서 생성한 객체를 주입받아 사용하는 것을 의미한다. 이를 통해 객체간의 의존성을 줄이고 유연성 있는 코드를 작성할 수 있다. Spring에서 DI를 사용하는 이유 코드의 유지 보수성 향상 DI를 사용하면 의존성이 높은 객체를 직접 생..