spring

JWT란? JWT(JSON Web Token) 어떠한 사용자가 아이디와 비밀번호를 사용하여 로그인을 하면,사용자의 정보를 가진 토큰이 발행되어 서버에 요청을 보낼때마다 세션, 쿠키 대신에 JWT 토큰을 이용해서 서버로 보내어 요청을 보낸 사용자가 누구인지 특정을 할 수 있다. JWT의 구조 👉 HEADER . PAYLOAD . SIGNATURE 헤더 내용 서명 Header(헤더) 토큰의 헤더는 typ와 alg 두 가지 정보로 구성된다. alg는 Signature를 해싱하기 위한 알고리즘을 지정하는 것. Payload(페이로드) 토큰의 페이로드에는 **토큰에서 사용할 정보의 조각들인 클레임(Claim)**이 담겨 있다. 클레임은 총 3가지로 나누어지며, JSON(Key/Value) 형태로 다수의 정보를 넣..
Entity Entity Class @Entity : 데이터베이스의 테이블과 매핑되는 객체라는 선언. @Table(name = “”) : 테이블 이름과 클래스 이름이 다를 때 사용. Entity Properties @id : primary key로 사용할 속성 @GeneratedValue(strategy = ) : 자동으로 값 생성 GenerationType.AUTO : (default) DBMS를 보고 JPA가 알아서 결정(오라클 : 시퀀스) GenerationType.IDENTITY : DBMS가 생성, Auto increment GenerationType.SEQUENCE : DB의 sequence 사용 @Column : property는 해당 이름으로 컬럼이 생성되는데 추가 정보를 정의한다. nam..
View Template Engine Controller가 전달해준 데이터를 기반으로 동적인 html 문서를 생성해 주는 엔진 조건문, 반복문 등으로 문서를 완성한다. 기존 jsp는 View라고 하기에는 너무 많은 기능을 사용할 수 있어서 스프링에서 스펙 아웃 되었다. Spring framework은 Thymeleaf를 기본 제공한다. 프로젝트에 추가 build.gradle 에 추가 후 Gradle refresh implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' Thymeleaf의 기본 확장자는 html html 태그에 다음과 같이 namespace를 추가하여 사용한다. 일반 html과 동일하게 동작하지만 th: 로 표기된 항..
# RESTFul Server 만들어보기 데이터베이스 없이 고정 데이터를 반환하는 Server를 작성해본다. 패키지 관리법 계층형패키지 vs 도메인형 패키지 프로젝트 규모가 작다면 어떤 방법을 사용해도 문제 없다. 프로젝트가 커진다면 도메인형 패키지를 고려하는 것이 좋다. 이 글에서는 도메인형으로 만들어볼 예정 패키지 추가 lecture - controller, dto teacher - controller, dto 각 도메인 내부에 repository, service, entity 등의 패키지가 추가된다. Lecture LectureDto package com.example.myschool.lecture.dto; import lombok.AllArgsConstructor; import lombok.Get..
Spring Boot DBCP DBCP : Data Base Connection Pool 매번 Connection을 만드는 것이 아니라 서버가 감당할 수 있을 만큼의 Connection Pool을 미리 만들어두고 이를 사용-반환 하면서 데이터베이스를 사용하는 것 Spring boot 프로젝트는 기본적으로 HikariCP를 사용한다. 설정 항목 application.propertites DB url, username, password(필수로 작성) driverClassName : jdbc class name (사용 DBMS에 따라서 달라짐) connectionTimeout : default (30초) maximumPoolSize : 최대 Connection 수 default 10 Database libra..
프로토콜 : 정해진 규약 혹은 약속 HTTP 프로토콜 통신 규약(프로토콜, Protocol) : 네트워크 상에서 복수의 컴퓨터(앱) 사이에서 데이터를 통신하기 위한 약속 HTTP(Hypertext Transfer Protocol) 서버 - 클라이언트 간의 통신 규약 클라이언트가 요청하면(Request) 서버가 데이터를 응답한다(Response) Request, Response의 규약만 준수한다면 Server, Client는 어떠한 코드로 작성되던지 HTTP 프로토콜을 만족하는 것이다. 서버 주소 서버의 주소는 http:// 로 시작한다. 도메인 이름 ( .com, .net 등) 또는 ip 주소를 사용한다. Default 포트 번호는 80번 이다. 예 http://hello.com # http 프로토콜을 ..
개발 환경 개요 지원 계획 참조 Java 버전 별 지원 계획 - https://www.oracle.com/java/technologies/java-se-support-roadmap.html Spring 버전 별 지원 계획 - https://spring.io/projects/spring-framework/#support https://spring.io/projects/spring-boot/#support Spring 개발 환경 참조 https://spring.io/tools/ Spring Tool Suite 4 https://spring.io/tools/ 다운 받아 더블 클릭을 하여 적절한 위치에 압축을 푼다. 압축 푼 폴더에 들어가서 SpringToolSuite4.exe 실행 하면 Spring 을 사용하..
Controller Spring Boot Request Mapping Request의 정보(url, method)를 기반으로 이를 처리할 함수(Controller)로 연결해 주는 것 다른 WAS 에서는 Routing 이라는 표현도 사용한다. Request로 전달되는 주요 정보 url : 서버 정보 이후의 주소 : /users, /posts method : GET, POST, PUT, PATCH, DELETE 등 path parameter : 주소의 일부를 식별자로 사용 /users/123 /posts/111 query string : url 뒤에 ? 를 이용해 전달되는 추가 정보, 정보, 검색어 등 /users?orderBy=birthYear /users?name=홍길동 Controller는 Reques..
Future0_
'spring' 태그의 글 목록