본문 바로가기

백엔드/Spring Boot5

Spring Boot / 이메일 인증 (아이디, 비밀번호 찾기) 구글 설정 ✿ 구글 홈페이지 : 2단계 인증 + 앱 비밀번호 설정  ✓ 2단계 인증을 하는 이유 : 아래에 'spring.mail.properties.mail.smtp.auth:true(서버인증 요구여부)' 설정을 하는데, Gmail 에서는 보안 상 '앱 비밀번호'를 사용하는 것이 좋다. 그런데 '앱 비밀번호를 사용할면 2단계 인증이 필요하다. 따라서 2가지를 실행하기 위해 구글 홈페이지에서 아래와 같이 실행하면 된다. (참고로 2단계 인증을 활성화하면 다른 앱 서비스에서 구글 일반 비밀번호로 SMTP에 접속할 수 없다)   ✓ 구글 홈페이지 접속 후 프로필을 누르면 'Google 계정 관리'가 나온다.     ✓ '구글 계정 - 보안' 에 들어가면 '2단계 인증' 이 있다. 이를 진행해 주자.    ✓.. 2024. 10. 4.
Spring Boot / Swagger 홈페이지 활용 (403에러) 모든 설정은 완벽한데 스프링 부트에서 Swagger를 활용 시 403에러가 나올 시 Spring Security에서 Swagger 주소를 허용하지 않았다고 생각하면 된다. 이를 주의해야 한다.  인텔리제이 or Visual Studio Code✿ build.gradle 의존성 주입dependencies { implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.6.0'}  ✿ application.properties # Swagger UIspringdoc.api-docs.path=/v3/api-docsspringdoc.swagger-ui.path=/swagger-ui.html ✿ (Spring Security 활용 시) 주소 허용packa.. 2024. 10. 4.
우리는 왜 Mybatis가 아닌 JPA를 써야 하는가? (2) [Fetch 전략, Cascade 유형, JPA Query Method, 쿼리 생성 전략, 조건 연산자] Entity 관계 매핑   Fetch 전략  : 부모클래스를 조회할 때 자식클래스를 계속 로딩 할 것이냐, 아니면 실제로 사용할 때만 로딩 할 것이냐. FetchType은 부모클래스에 지정하면 된다.   1. Eager Fetching (즉시 로딩)    - 사용자를 조회할 때 주문한 내역을 반드시 가져와야 한다면 Eager Fatching을 지정하여 무조건 가져올 수 있도록 한다.    - 단점: 불필요한 데이터 조회때문에 성능히 저하될 수 있다.import javax.persistence.*;import java.util.List;@Entity@Getter@Setterpublic class User { @Id @GeneratedValue(strategy = GenerationType.IDE.. 2024. 8. 25.
JSON 형태 웹 페이지(Chrome) 에서 깔끔하게 확인하기 주소창에 '로컬주소/v3/api-docs' 를 작성하면 아래와 같이 json 형태로 자료가 나오게 된다. 이를 더 명료하게 보기 위해선 chrome에서 확장프로그램을 깔아줘야 한다. chrome 웹 스토어 - json view 를 검색하면 아래와 같은 프로그램이 나오는데 설치해준다. 확장프로그램을 추가하면 아래와 같이 깔끔하게 나온다. 2024. 8. 17.
스프링 부트 설정(Intelli J) 스프링 부트 설정 스프링 프레임워크에서는 빈 객체 등록해서 사용했었는데 스프링 부트에서는 application.properties 에서 커넥션을 통해 사용할 수 있다. 찾아서 설정할 수 있지만 그러면 spring framework와 다를바가 없기 때문에 Application.properties 에서 실행하면 된다. 실행은 java에 Application을 실행하면 내장 tomcat이 실행하게 된다 스프링부트의 각 설정 mapper 설정 인터페이스는 객체를 생성할 수 없다.인터페이스 안에있는 @Mapper 어노테이션은 연결된 mapper 폴더에 있는 xml 파일을 자동으로 객체를 생성한다. Mapper id는 mapper 인터페이스 메소드명과 동일하게 사용 springDevtools 를 설정해놨기 때문에 .. 2024. 8. 17.