썸네일 [springboot]application.properties란? springboot에서는 properties의 이름을 application-xxx.properties로 만들면 " xxx " 라는 이름의 profile이 생성되어 이를 통해 관리할 수 있습니다. 즉, profile=xxx라는 식으로 호출하면 해당 properties의 설정들을 가져올 수 있습니다. 호출하는 방식은 여러 방식이 있지만 스프링 부트의 기본 설정 파일인 application.properties에서 application-oauth.properties를 포함하도록 구성할 수 있습니다. application.properties의 내용 중 일부 ex ) spring.profiles.include=oauth 이런식으로 선언해주면 oauth라는 설정파일을 사용할 수 있습니다.. .gitignore 등록 ..
[Springboot]@Builder란? JAP 엔티티 객체들에 @Builder 어노테이션을 이용하여 객체를 Builder를 이용하는 것이 흔한 패턴입니다. 즉,JAP Entity 객체에 @Builder를 이용한다는 말입니다. 장점 인자가 많을 경우 쉽고 안전하게 객체를 생성할 수 있다. 인자의 순서와 상관없이 객체 생성이 가능하다. 적절한 책임을 부여하여 가독성을 높일 수 있다.
썸네일 [Spring-boot]스프링시큐리티+OAuth2 소셜로그인 (3) 구글(Google) 1. 구글 디펠로퍼 콘솔에 접속해서 새 프로젝트를 생성합니다. 2. 프로젝트를 생성할 때 정보를 작성합니다. 3. 왼쪽 사이드바의 사용자 인증 정보에서 사용자 인증 정보 만들기 > OAuth2 클라이언트 ID 를 클릭합니다. 4. OAuth 클라이언트 ID 만들기 창에서 동의 화면 구성을 클릭합니다. 5. OAuth 동의화면에서 애플리케이션 필요한 정보를 입력한 후 저장합니다. 6. 애플리케이션 유형 중 웹 애플리케이션을 선택한 다음 아래와 같이 입력한 후 저장합니다. *승인된 리디렉션 URI (URI는 URL이 아닙니다. URI가 상위개념이라고 생각하시면 됩니다.) ex)URI는 URL,URN의 상위 개념입니다. URI는 동물이라고 비유하면 URL(강아지), URN(다람쥐)라고 생각..
썸네일 [Spring-boot]스프링시큐리티+OAuth2 인증 (2) | OAuth2란? -OAuth의2는 OAuth의1의 유저의 인증플로우, 전반적인 목적만 공유하고 OAuth의1.0을 새로 작성한것입니다. -OAuth의1.0과 OAuth의2.0의 차이는 앱 애플리케이션, 웹 애플리케이션, 데스크탑 애플리케이션등의 인증방식을 강화하고 Consumer에 개발 간소화를 중심으로 개발 되었습니다. | OAuth의1.0 과 OAuth의2.0차이점 -인증 절차 간소화 됨으로써 개발자들이 구현하기 더쉬워졌고, 기존에 사용하던 용어도 바뀌면서 Authorizaiton server와 Resource서버의 분리가 명시적으로 되었고 다양한 인증 방식을 지원하게 되었습니다. 인증 절차 간소화 기능의 단순화, 기능과 규모의 확장성 등을 지원하기 위해 만들어 졌다. 기존의 OAuth1.0은 디..
썸네일 [Spring-boot]스프링시큐리티+OAuth1 인증 (1) | 스프링 부트 시큐리티 -시큐리티 사용을 앞서 인증(Authentication)과 인가(Authorization)이라는 개념을 알아야 합니다. 인증(Authentication) -사용자(클라이언트)가 애플리케이션의 특정 동작에 관하여 허락(인증)된 사용자인지 확인하는 절차 웹사이트 로그인을 인증이라 생각하면 됩니다. -인증은 '증명하다'라는 의미로 예를 들어, 유저 아이디와 비밀번호를 이용하여 로그인 하는 과정 을 말합니다. 권한부여(Authorization) -데이터나 프로그램 등의 특정 자원이나 서비스에 접근할 수 있는 권한을 허용하는 것 예를 들어 A는 VIP 회원이고, B는 일반 회원이라면 두 회원의 권한이 다르게 부여됩니다. -인가는 '권한부여'나 '허가'와 같은 의미로 사용됩니다. 즉, 어떤..
썸네일 [Springboot]JPA란? |등장 웹 서비스를 개발하고 운영하다 보면 피할 수 없는 문제가 데이터베이스를 다루는 일 입니다. MyBatis와 같은 SQL mapper를 이용하여 쿼리를 작성한다면 ,실제로, 개발하는 시간보다 SQL을 다루는 시간이 더 많았습니다. 이러한 문제의 해결책으로 JPA라는 자바 표준ORM(Object Relational Mapping)이 등장합니다. *MyBatis , iBatis는 ORM이 아닙니다 (SQL Mapper입니다.) (SQL Mapper는 쿼리를 매핑합니다.) *ORM은 객체를 매핑하는 것입니다. |소개 웹 애플리케이션에 관계형 데이터베이스(RDB , RelationalDatabase)는 빠질 수 없는 요소입니다. 중요한것은 객체를 관계형 데이터 베이스에서 관리하는 것이 무엇보다 중요합니다...