스프링) @SpringBootTest와 @WebMvcTest의 차이
·
자바 탐구
@SpringBootTest와 @WebMvcTest의 차이 SpringBoot Test SpringBoot 애플리케이션의 테스트를 지원하기 위해 제공되는 테스트 모듈 SpringBoot 애플리케이션의 전체 컨텍스트를 로드하고 설정하는 것으로, 애플리케이션의 실제 구성 요소들과 상호작용하며 통합 테스트를 수행하는 데 사용한다. SpringBoot Test의 특징 애플리케이션 컨텍스트를 로드하여 통합테스트 수행 실제 빈과 구성 요소들과 상호작용하여 실제 환경과 유사한 테스트 수행. @SpringBootTest 어노테이션을 사용하여 테스트클래스에서 SpringBoot 애플리케이션 컨텍스트를 로드 SpringBoot Test 예시 @ActiveProfiles("test") @SpringBootTest class..
스프링) RestClient
·
자바 탐구
RestClient REST API 서버에 HTTP 요청을 보낼 수 있는 클라이언트 툴 또는 라이브러리 client - Frontend, Frontend - Backend 뿐만이 아니라, Backend A - Backend B 사이에도 Backend A가 Backend B의 리소스를 사용할 수 있다. 클라이언트와 서버의 관계는 상대적이기 때문에 Frontend - Backend의 관계에서는 Frontend가 클라이언트가 되고, Backend - Backend 관계에서는 리소스를 요청하는 쪽이 클라이언트가 된다. UI가 갖춰진 RestClinet로는 Postman, Thunder Client, Insomnia, Soap UI 등이 있다. SpringFramework에서는 REST엔드포인트에 대한 호출을 수..
자바) List, Set, Map, HashMap의 특성
·
자바 탐구
List, Set, Map, HashMap의 특성 List 순서가 있는 데이터의 집합으로 중복값을 허용한다. 데이터를 인덱스로 접근 가능. 인덱스는 0부터 시작하여 데이터의 순서를 의미한다. 대표적인 구현 클래스로 'ArrayList'와 'LinkedList'가 있다. Set 순서가 없는 데이터의 집합으로, 중복된 값을 허용하지 않는다. 데이터를 추가할 때 중복된 값이 이미 존재하는 경우 추가되지 않는다. 대표적인 구현 클래스로 'HashSet'과 'TreeSet'이 있다. Map key-value 쌍의 데이터를 저장하는 자료구조이다. key는 고유해야 하며, key를 통해 value에 접근할 수 있다. Map은 key의 순서를 보장하지 않는다. 대표적인 구현 클래스로 'HashMap', 'TreeMap..
스프링) 스프링 컨테이너(Spring Container)
·
자바 탐구
스프링 컨테이너 스프링 프레임워크의 핵심 기능 중 하나로, 스프링 애플리케이션에서 객체의 생성, 관리, 의존성 주입(Dependecy Injection), 라이프사이클 관리 등을 담당하는 컴포넌트이다. 스프링 컨테이너는 빈(Bean)이라고 불리는 객체들을 관리한다. 빈은 스프링 컨테이너에 의해 생성되고, 컨테이너 안에서 싱글톤으로 관리된다. 싱글톤은 여러 요청이나 호출에 대해 동일한 인스턴스를 유지하는 디자인 패턴을 의미한다. 스프링 컨테이너는 XML, 어노테이션 기반의 자바 설정 클래스로 만들 수 있다. 스프링 부트(Spring Boot)를 사용하기 전에는 XML을 통해 직접적으로 설정해 주어야 했지만, 스프링 부트가 등장하면서 대부분 사용하지 않게 되었다. 스프링 컨테이너의 장점 1. 의존성 주입 스..
스프링) 의존성 주입(Dependency Injection) 방식
·
자바 탐구
의존성 주입 방식 의존성을 주입하는 방법은 4가지가 있다. 1. 생성자 주입(Constructor Injection) 2. setter 3. 필드 주입 생성자 주입 생성자를 통해 의존관계를 주입하는 방법이다. @RestController public class AnimalController { private final AnimalService animalService; @Autowired public AnimalController (AnimalService animalService) { this.animalService = animalService; } @PostMapping("/animal") public ResponseEntity adoptAnAnimal(AdoptRequestDto requestDt..
JPA) 영속성 컨텍스트
·
자바 탐구
영속성 콘텍스트 엔티티를 영구 저장하는 환경이라는 의미 애플리케이션과 데이터베이스사이에서 객체를 보관하는 가상의 데이터베이스 같은 역할을 한다. 엔티티 매니저를 통해 엔티티를 저장하거나 조회하면 매니저는 영속성 콘텍스트에 엔티티를 보관하고 관리한다. 엔티티의 생명주기 비영속(new/transit) : 영속성 콘텍스트와 전혀 관계가 없는 상태 Product product = new Product(); product.setId("product1"); product.setName("책"); 객체를 생성하였지만 저장은 되지 않음 영속(managed) : 영속성 콘텍스트에 저장된 상태 Product product = new Product(); product.setId("product1"); product.setN..
스프링) SpringSecurity - 11) Oauth2.0 네이버 로그인 완료
·
자바 탐구
Oauth2.0 네이버 로그인 완료 https://developers.naver.com/main/ NAVER Developers 네이버 오픈 API들을 활용해 개발자들이 다양한 애플리케이션을 개발할 수 있도록 API 가이드와 SDK를 제공합니다. 제공중인 오픈 API에는 네이버 로그인, 검색, 단축URL, 캡차를 비롯 기계번역, 음 developers.naver.com application.yml spring: security: oauth2: client: registration: naver: client-id: client-secret: scope: - name - email - profile_image client-name: Naver authorization-grant-type: authorizat..
스프링) SpringSecurity - 10) Oauth2.0 페이스북 로그인 완료
·
자바 탐구
Oauth2.0 페이스북 로그인 완료 https://developers.facebook.com/ Meta for Developers 꿈의 아틀리에 창조 BUCK의 크리에이터와 개발자로부터 Meta Spark를 사용하여 DIOR Beauty를 위한 AR 경험을 설계 및 빌드하는 과정에 대한 비하인드 스토리를 들어보세요. Presence Platform Meta의 Presence Pl developers.facebook.com 화면의 우측 상단 "내 앱"을 클릭한다. "앱 만들기" 를 클릭한다. 필요한 부분에 체크를 하고 "다음"을 클릭한다. 필요한 부분에 체크하고 "다음"을 클릭한다. 필요한 부분을 입력하고 "앱 만들기"를 클릭한다. "제품" 탭 -> "구성" -> "빠른시작"을 클릭한다. "웹"을 클릭한..
오지랖 토끼
'자바 탐구' 카테고리의 글 목록 (2 Page)