본문 바로가기

springboot19

[springboot] 구글 로그인 api 연동 먼저, 구글 서비스에 신규 서비스를 행성해야 한다. 여기서 발급된 인증 정보(clientId와 clientSecret)를 통해서 로그인 기능과 소셜 서비스 기능을 사용할 수 있으니 무조건 발급받고 시작해야 한다.구글 서비스 등록https://console.cloud.google.com 에 접속해 새 프로젝트 를 클릭한다. 프로젝트이름을 기입하고 만들기 버튼을 클릭한다. 그 다음 왼쪽바에서 API 및 서비스-> 사용자 인증 정보 를 클릭한다.사용자 인증 정보 만들기-> OAuth 클라이언트 ID 를 클릭한다.동의 화면 구성 버튼을 클릭한다. 외부로 선택하고 만들기 버튼 클릭한다. (나중에 배포를 생각해서 외부로 택하기)앱이름과 이메일 선택하고 마지막 개발자 연락처 정보에 이메일 주소 적고 저장후계속 클릭.. 2024. 2. 18.
[springboot] 스프링에서 Bean 주입 시 @Autowired 사용을 권장하지 않는 이유 Spring에서 관리하는 Bean 객체 주입 방법에는 3가지가 있다. (Controller, Service에서 DI 발생)@Autowiredsetter생성자이 중 가장 권장하는 방식은 생성자로 주입받는 방식이다.(@Autowired는 권장하지 않는다.) 즉, 생성자로 Bean 객체를 받도록하면 @Autowired와 동일한 효과를 볼 수 있다. 생성자는 @RequiredArgsConstructor이 final이 선언된 모든 필드를 인자값으로 하는 생성자를 롬복의  @RequiredArgsConstructor가 대신 해준다.  (생성자를 직접 안 쓰고 롬복 어노테이션을 사용하는 이유는 해당 클래스의 의존성 관계가 변경될 때마다 생성자 코드를 계속해서 수정하는 번거로움을 해결하기 위함이다. @RequiredA.. 2024. 2. 15.
[springboot] 컨트롤러 JUnit 테스트 Controller JUnit 테스트할 때의 어노테이션 정리 @ExtendWith(SpringExtension.class) //JUnit5 버전, JUnit5 버전은 @RunWith- 스프링 부트 테스트와 JUnit 사이에 연결자 역할 @AutoConfigureMockMvc //@WebMvcTest(@Service, @Repository   테스트 불가능, 컨트롤러 테스트만 가능) 비슷한 의미- MockMvc 제어하는 어노테이션- @Controller 뿐만 아니라 @Service, @Repository 모두 테스트 가능 @SpringBootTest- 테스트에 필요한 거의 모든 의존성 제공- Autowired 허용하여 객체 의존성 주입- 사용 시 @ExtendWith(SpringExtension.class.. 2024. 2. 14.
[springboot] JUnit 테스트에서 @Slf4j 사용하기 JUnit 테스트에서 @Slf4j 사용하려면 build.gradle 파일에 아래 내용을 추가해야 한다. testAnnotationProcessor 'org.projectlombok:lombok' // 테스트를 위한 세팅 @Slf4j testImplementation 'org.projectlombok:lombok' // 테스트를 위한 세팅 @Slf4j 그러면 정상적으로 로그를 사용할 수 있다.아래는 @Slf4j  사용한 예시다.package com.pnow.repository;import com.pnow.domain.Category;import com.pnow.domain.CategoryType;import lombok.extern.slf4j.Slf4j;import org.junit.jupiter.api... 2024. 2. 14.