JWT 공부에 앞서, Spring Security에 대한 이해가 너무 부족하여, 해당 부분을 먼저 선행하고자 한다.이번에는 본격적으로 Spring Security를 사용하기에 앞서, 개념과 작동 방식에 대해 공부해보고자 한다.01. Spring Security란?✨ Spring Security 개념 Spring Security는 Spring 프로젝트에서 애플리케이션의 인증, 인가 등의 보안을 담당하는 스프링 하위의 프레임워크이다.🎈 인증과 인가인증(Authentication): 애플리케이션에 접근하는 유저의 신원을 확인하는 과정인가(Authorization): 유저가 어떠한 자원(Resource)에 접근할 수 있는지 검증하는 과정✨ Spring Security 사용 이유특정 URL에 대하여 인증되지 ..
전체 글
안녕하세요. 고민하는 개발자가 되고 싶은 Hayden 입니다. 초보 개발자의 공부 과정을 기록하는 블로그입니다. 현재 Spring boot에 관심을 가지고 공부하고 있습니다.작업을 하다 위와 같은 에러가 발생했다.찾아보니 에러의 원인은 같은 주소와 같은 메소드로 매핑하는 메소드가 여러개 존재하는 경우 발생한다고 한다.나는 위와 같은 경우에서 에러가 발생했다. 위의 @PostMapping을 @GetMapping으로 변경 후 에러가 해결 되었다.
스프링 부트와 MySQL 연동에 관련된 글은 이전 포스팅을 참고하자이번에는 연동한 DB를 스프링 부트 프로젝트 안에서 사용하는 방법을 정리하려고 한다.스프링 부트에서 DB를 사용하는 방식은 아래와 같은 여러가지가 있다.JDBCJDBC TemplateJPA등등요즘에는 JPA가 가장 많이 쓰이는 것 같은데, 나는 우선 SQL 쿼리 짜는걸 연습할 겸 JDBC Template을 사용하였다. JDBC Template은 JDBC에 비해 복잡한 설정 코드를 작성하지 않아도 된다는 장점이 있다.그럼 JDBC 사용 방법을 알아보자.Repository 클래스 생성 및 의존관계 설정우선 스프링 부트 프로젝트에서, DB와의 연결을 책임질 Repository 클래스를 만들어 준다.의존 관계 설정Repository안에서 JDBC..
스프링 부트에서 MySQL을 연동했던 과정을 기록하고자 한다.MySQL 설치 및 세팅, 테이블 생성 과정은 생략하도록 하겠다.의존성 추가build.gradle 파일의 dependencies안에 아래 코드를 추가해준다.// DB, MySQL implementation 'org.springframework.boot:spring-boot-starter-jdbc' runtimeOnly 'com.mysql:mysql-connector-j'나는 JDBC Template 방식을 사용하였다. 해당 의존성을 추가해준다.이후 mysql connector 의존성을 추가해준다.해당 의존관계의 경우, 이전 버전과 주소가 달라진것 같은데 이 문제로 좀 헤맸다. 🎈 Spring Boot Dependencies Vers..
스프링 부트 프로젝트를 진행하던 중 URL주소에 파라미터를 넘겨야 할 경우가 생겼다.그 방법들에 대해서 알아보겠다.1. URL 경로 중간에 파라미터 삽입(@PathVariable)말 그대로 URL 경로 중간에 파라미터를 삽입하는 방법이다.변수에 따른 하위 페이지가 존재하는 경우 사용하기 용이하다.URL 예시이 외에 ~/user/124/watches/, ~/user/125/watches/ 등등사용법@GetMapping("/user/{userId}/watches/") public String userWatchList(@PathVariable String userId, Model model){ User user = userService.findUser(userId).orElse(null); ..
웹 계층 구조)이미지출처스프링의 웹 계층은 위 그림처럼 이루어져있다.(1) Web Layer, (2)Service Layer, (3)Repository Layer 로 크게 세가지로 볼 수 있으며 각 레이어간 데이터를 공유할 때 (1)Domain(Entity), (2)DTO 를 통해 공유한다.각 계층간 흐름은 아래 그림과 같다.)이미지출처하위 계층 부터 살펴보겠다.Repository Layer레퍼지토리 계층은 내 애플리케이션과 DB간의 연동을 책임지는 부분이다.DB와의 간단한 CRUD등을 구현한다.내가 수강하고 있는 김영한 강사님의 강의에서는 구현체를 사용해서 Repository를 구성하였다. 내가 생각할 때 구현체로 레포지토리를 구현하는 장점에는 아래와 같은 것들이 있는 것 같다.프로젝트에서 사용되는 D..