Dev/SpringBoot 37

7. [springboot] Spring Security 간단 권한관리 예제 - UserDetailsService 방식

1. 서론 - 오늘은 userDetailsService를 이용하여 DB에서 정보를 가져와 인증하는 방식을 구현해보고자 합니다. - 이 글을 이해하면 로그인 기능을 구현할 수 있습니다. - 질문은 댓글로 언제든 환영합니다! 2. 본론 SecurityConfig.java - 시작은 SecurityConfig 클래스에서부터 시작합니다. package com.example.springsecurity.security; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.security.servlet.PathRequest; import org.springframew..

Dev/SpringBoot 2020.06.09

6. [springboot] Spring boot 기초 회원가입 예제

1. 서론 스프링 시큐리티를 이용하여 권한을 부여하고, 회원가입 처리를 하는 간단 예제를 만들어 볼 것입니다. 이 글을 이해하면 간단한 회원가입을 스프링 시큐리티로 구현할 수 있습니다. 간단한 MVC 구조를 알고 계신다면 더 편하게 따라오실 수 있습니다. 2. 본론 엔티티 모델링 먼저, 원활한 회원가입을 위한 엔티티 모델링부터 진행합니다. 여기서 주의할 점은 username 부분인데, 시큐리티에서 템플릿과 연동 시 기본으로 제공하는 name 값이 username 이므로 이에 맞추어 줍니다. 커스터마이징 또한 따로 할 수 있으나 추후 포스팅하겠습니다. import lombok.AccessLevel; import lombok.Builder; import lombok.Data; import lombok.NoA..

Dev/SpringBoot 2020.06.09

5. [springboot] Spring Security 간단 권한관리 예제

1. 서론 - 스프링 시큐리티 공부하던 도중 간단하게 권한 부여하는 방법을 예제로 구현해보고자 포스팅하게 되었습니다. - 이 포스팅을 잘 보게 될 경우 간단한 권한관리를 알 수 있게 됩니다. 2. 본론 - 먼저, 간단하게 컨트롤러 구성부터 해보겠습니다. package com.example.springsecurity.controller; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.we..

Dev/SpringBoot 2020.06.08

4. [springboot] hibernate.hbm2ddl.auto 속성 정리

- 데이터베이스 스키마 자동 생성 DDL을 애플리케이션 실행 시점에 자동 생성한다. 테이블 중심에서 객체 중심으로 이동 데이터베이스 방언을 활용해서 데이터베이스에 맞는 적절한 DDL 생성한다. 이렇게 생성된 DDL은 개발 단계에서만 사용 생성된 DDL은 운영서버에서는 사용하지 않거나, 적절히 다듬은 후 사용 1. 속성 persistence.xml 의 속성옵션을 보자. 주석한 곳이 있을 것이다. hibernate.hbm2ddl.auto인데 value 값을 조정하면서 하면 된다. 옵션 설명 create 기존 테이블 삭제 후 다시 생성 DROP + CREATE create-drop create와 같지만 종료시점에 테이블 DROP, 아예 없앤다. update 변경분만 반영(운영DB에는 사용하면 안된다), 추가만..

Dev/SpringBoot 2020.03.26

3. [Springboot] Hello JPA! - JPA 시작하기

1. 환경 구성 JPA 를 사용하여 간단하게 프로젝트를 만들어보고자 합니다..! 우선, 환경 구성부터 실시해보겠습니다. DB는 H2 DB를 사용할 것입니다. http://h2database.com/html/main.html 현시점(20/03/26) 기준 [Version 1.4.199]가 가장 안정적인 버전이기 때문에 이것을 다운로드 받고 사용합니다. 윈도우 기준 H2 실행 방법 C:\Program Files (x86)\H2\bin 경로로 가서 h2.bat 파일 더블클릭하면 실행 됩니다. 프로젝트는 메이븐을 사용하며, 자바 8 이상을 권장합니다. ArtifactId : 빌드되면 나오는 파일 이름입니다. 1.1 pom.xml 작성 먼저, JPA 하이버네이트 설정과 H2 데이터베이스, 롬복 설정을 해주겠습니다..

Dev/SpringBoot 2020.03.26

2. [Springboot] JPA(Java Persistence API) 정리

1. 뜻 JPA Java Persistence API 자바를 굳이 고집하는 API 정도라고 생각하면 될듯 자바 표준 ORM(Object Relational Mapping) 2. 발생동기 객체지향 프로그래밍을 배웠는데 테이블 모델링에 집중해야하는 상황을 이겨내기 위해. 객체를 테이블에 맞추어 데이터를 담는 그릇 역할만을 수행하는 한계에서 벗어나기 위해. 관계형 데이터베이스를 이용하는 프로젝트에서 객체지향 프로그래밍을 수행하기 위해. SQL문에서 탈피하기 위해. 지향하는 바가 다른 두개 영역(객체지향 프로그래밍 언어와 관계형 데이터베이스)을 중간에서 패러다임 일치 시켜주기 위해. 개발자는 객체지향적으로 프로그래밍을 하고, JPA가 이를 관계형 데이터베이스에 맞게 SQL을 대신 생성해서 실행한다. SQL에 더..

Dev/SpringBoot 2020.01.21

1. [Springboot] Annotation 정리

1. @After Junit에서 단위 테스트가 끝날 때마다 수행되는 메소드를 지정한다. 보통은 베포 전 전체 테스트를 수행할 때 테스트간 데이터 침범을 막기 위해 사용한다. 여러 테스트가 동시에 수행되면 테스트용 DB인 H2에 데이터가 그대로 남아있어 다음 테스트 시행 시 테스트가 실패할 수 있다. 이것을 방지 2. @RestController 컨트롤러를 JSON을 반환하는 컨트롤러로 만들어준다. @ResponseBody를 각 메소드마다 선언했던 것을 한번에 사용할 수 있게 해준다고 생각하자. 3. @GetMapping HTTP Method인 Get의 요청을 받을 수 있는 API를 만들어 준다. @RequestMapping(method=RequestMethod.GET)으로 사용되었던 것을 대체한다. 4...

Dev/SpringBoot 2020.01.20