스프링

스프링

Servlet

스프링/소셜로그인

소셜로그인 with 구글,카카오,네이버 오뜨 2.0

구글 1. 구글 플랫폼에 접속한다. https://console.cloud.google.com Google 클라우드 플랫폼 로그인 Google 클라우드 플랫폼으로 이동 accounts.google.com 2. 구글 플랫폼에 새프로젝트 생성하고 플젝 이름 입력한다. 만들고 나면 3. 동의 화면 구성 -> 외부 유저 타입 만들기 정확한 단계는 모르지만, 내 추측은 이게 우리가 구글 로그인 버튼을 딱 누르면 뭐~ 어떤 어플에서 님 정보에 접근중인데 동의할꺼에용? 이거 물어보는 화면 같다. 만들기 누르면 4.OAuth 동의 화면 앱 이름, 사용자 이메일, 개발자 연락 입력하고 저장 후 누른다 5. 범위 추가 또는 삭제에서 email, profile, openid 체크 후 저장 후 계속 눌러준다. 이부분은 어떤 ..

스프링/소셜로그인

OAuth2.0

이런 방식이다.. 아이패드도 선물 받은 겸 글 자체를 패드로 써서 올려봤는데,, 가독성이 너무 떨어지는 거 같다. 내가 봐도 소름돋는다. 다시..다시.. 이러면 토큰이 발급된다. 토큰이 발급된 후에는 토큰 정보를 갖고 api를 요청하며 신분확인을 할 수 있음. 근데 아마 resource 서버에 read까지만 할 것 같긴 함. 이러면 fefe서버 내부에서도 jwt발급해서 옮겨야하나?? 잘 모르겠음..

스프링

스프링 짧은 지식

@CreatedDate 생성된 시간 정보를 자동으로 저장해준다. @MappedSuperclass 객체의 입장에서 공통 매핑 정보가 필요할 때 사용한다. 이렇게 공통 매핑 정보가 필요할 때, 부모 클래스에 선언하고 속성만 상속 받아서 사용하고 싶을 때 @MappedSuperclass를 사용한다. @EntityListeners(AuditingEntityListener.class) Entity Listener는 엔티티의 변화를 감지하고 데이블의 데이터를 조작하는 일을 한다. 이전에는 Column값이 수정되는 것에 대해서 반복된 코드를 추가해야했으며 개발자가 직접 추가를 하보니 실수가 발생하는 경우가 종종 발생하였다. 하지만 이러한 것은 EntityListener를 사용하면 쉽게 개선할 수 있다. @where ..

스프링

Spring RequestContextHolder

RequestContextHolder란 ? 스프링에서 전역으로 Request에 대한 정보를 가져오고자 할 때 사용하는 유틸 클래스이다. 보통 service계층에서 많이 사용되며, 매번 클라이언트에 정보를 요청하는 부담을 줄여준다고 생각한다? 확실하지 않다 . 내 예상임..ㅈㅅ RequestContextHolder.getRequestAttributes() 이렇게 쓰인다. 문자 그대로 리퀘스트 안의 정보를 가져오는 거다. 그럼 RequestContextHolder는 언제 생기고 어떻게 호출해야 reqeust정보를 가져올 수 있을까? 생성 이 클래스는 Servlet이 생성될 때 Http Request가 오는 시점에 생성 및 초기화 되고 Servlet이 초기화될 때 clean된다. 탐캣이 올라올 때 쓰레드가 하..

스프링

스프링 핵심

왜 ? 생겼는가 스프링은 자바가 가진 객체 지향 언어의 특징을 극대화하는 프레임 워크이다. 스프링은 좋은 객체 지향 애플리케이션을 개발할 수 있게 도움을 준다. 원래는 EJB쓰다가 EJB가 객체 지향 특징을 아주 망쳐놨었다고 한다. 그럼 좋은 객체 지향 프로그래밍은 뭘까? 객체들이 모여서 서로 독립적이면서 협력가능하고 컴퓨터를 부품을 갈아 끼우듯이 하나의 변경이 다른 것들에 미치는 영향을 최소화해야 한다. 새로운 기능이 추가되어도 클라이언트를 바꿀 필요가 없다. 다형성이 왜 중요한가? !역할과 구현을 분리 했기 때문이다. 역할 = 인터페이스 구현 = 인터페이스를 구현한 클래스 좋은 객체 지향 설계의 5가지 원칙 솔리드(SOLID) SPR- Single Responsibilty Principle 단일 책임..

스프링

SpringMVC

HTTP세상에서 클라이언트에서 서버로 데이터를 전송하는 방법 3가지 GET- 쿼리 파라미터 /url?username=hello&age=20 메시지 바디 없이, URL의 쿼리 파라미터에 데이터를 포함해서 전달 예) 검색,필터,페이징등에서 많이 사용 POST-HTML Form content-type:application/x-www-form-urlencodede 메시지 바디에 쿼리 파라미터형식으로 전달 username=hello&age=20 *예) 회원 가입, 상품주문, HTML Form사용 HTTP message body에 데이터를 직점 담아서 요청 HTTP API에서 주로 사용, JSON,XML,TEXT 데이터 형식은 주로 JSON 사용 *POST/PUT/PATCH Request.getParameter()..

스프링

스프링 부트

부트가 뭐냐 사전에 많은 작업을 대신 해주는 것 기존에 beans,core,context,web,webMVC,ORM에 라이브러리 추가, xml 에 dependency주입 및 설정 파일 업로드 설정,Transaction 설정등을 또 다른 설정 등등을 했었는데, 스프링 Boot는 이런 것들을 자동으로 해준다. 프로젝트에 따라서 자주 사용되는 library들이 미리 조합되어 있다. 복잡한 설정을 자동으로 처리 톰캣과 같은 WAS를 추가로 설치하지 않아도 개발 가능 WAS에 배포하지 않고도 실행할 수 있는 jar파일로 Web Application을 개발할 수 있다. 부트에는 임베디드 방식으로 내장 WAS가 있기때문에! APP안에 Main이 있다??? 어플리케이션 안에 내장 톰캣이 있기때문에 main이 있을 수 ..

스프링

스프링(Spring)

스프링이 해주는 것들 POJO-쌩 자바객체를 칭하기 위한 별칭이다. plain old java object : 특정 환경이나 기술에 종속적이지 않은 자바객체! 그냥 썡 자바에서 제공하는 것들을 사용할 수 있다는 뜻임 어떤 클래스나 인터페이스를 상속하지 않는 기본 자료형이나 String 객체 같은 것들을 사용함 테스트하기 용이(왜?자바만 있으면 돌릴 수 있으니까)+객체지향 설계를 자유롭게 적용이 가능 PSA(portable Service Abstraction) 환경 세부기술의 변경과 상관 없이 일관된 방식으로 기술에 접근가능 하게 해주는 설계 원칙 트랜잭션 추상화와 같이 기술적으로 복잡한 것들은 추상화를 통해 low level의 기술 구현 부분과 기술을 사용하는 인터페이스로 분리 (예를 들어 데이터베이스 ..

E재HO
'스프링' 카테고리의 글 목록