Spring

· Spring
오늘은 JUnit 5와 Mockito라는 두 가지 테스트 프레임워크에 대해 학습하였다. JUnit 5는 자바 단위 테스트를 위한 프레임워크이고, Mockito는 모의 객체를 사용하여 테스트를 진행할 수 있게 도와주는 라이브러리이다. JUnit 5: JUnit 5는 자바 개발자들이 단위 테스트를 쉽게 작성하고 실행할 수 있도록 도와주는 테스트 프레임워크이다. JUnit 5의 주요 기능은 다음과 같다. 애너테이션 기반 테스트: JUnit 5는 애너테이션을 사용하여 테스트를 작성하고 실행할 수 있다. @Test, @BeforeAll, @BeforeEach 등 다양한 애너테이션을 제공하여 테스트의 설정과 실행 순서를 관리할 수 있다. 확장 모델: JUnit 5는 확장 모델을 제공하여 테스트 컨텍스트를 확장하고 ..
· Spring
오늘은 서비스에 비밀번호 검증과 회원정보와 비밀번호수정 클라이언트 코드를 작성하였다. 우선 전에 작성해둔 서비스 코드이다. public ProfileResponseDto changePassword(String userId, ProfileRequestDto updateProfile) { User user = userRepository.findByUserId(userId) .orElseThrow(() -> new IllegalArgumentException("회원정보가 존재하지 않습니다.")); String currentPassword = updateProfile.getCurrentPassword(); if (!passwordEncoder.matches(currentPassword, user.getPassw..
· Spring
오늘은 프로젝트에서 구현한 이메일 인증에 대해서 작성하려한다. Gradle을 사용하여 구현을 시작한다. 기준은 네이버메일이다. Build.gradle에서 스프링 메일과 버전에 맞게 jakarta.mail을 불러온다. // spring mail // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-mail implementation 'org.springframework.boot:spring-boot-starter-mail:3.1.1' // https://mvnrepository.com/artifact/com.sun.mail/jakarta.mail implementation group: 'com.sun.mail',..
· Spring
이번주는 Spring Security, Security JWT, Spring RestTemplate, 그리고 Spring Boot Entity의 연관 관계에 대해 공부하고 이를 실습해보는 시간을 가졌었다. Spring Security는 스프링 기반의 보안 프레임워크로, 웹 애플리케이션의 인증과 권한 부여를 담당한다. 오늘은 Spring Security의 기본 개념과 구성 요소, 설정 방법을 학습했다. 사용자 인증, 권한 검사, 보안 설정 등 다양한 기능을 활용하여 안전한 웹 애플리케이션을 개발할 수 있는 방법을 알게 되었다. Security JWT는 JSON Web Token을 사용하여 인증과 권한 부여를 처리하는 Spring Security의 확장 기능이다. 오늘은 JWT의 개념과 동작 원리를 학습하고..
· Spring
오늘은 JWT(JSON Web Token)에 대해 알아보았다. JWT는 웹 애플리케이션에서 인증과 권한 부여를 위한 토큰 기반의 인증 방식이다. 토큰은 JSON 형식으로 구성되며, 헤더, 페이로드, 서명 세 부분으로 구성된다. JWT의 구조와 동작 방식을 자세히 살펴보았다. 헤더에는 알고리즘과 토큰 유형 정보가 포함되고, 페이로드에는 클레임(claim) 정보가 담겨 있다. 서명은 토큰의 유효성 검증을 위한 서명으로 사용된다. 또한 JWT의 활용 방법을 학습했다. JWT를 사용하면 세션 상태를 서버에 저장하지 않고도 클라이언트와 서버 간의 상태를 유지할 수 있다. 클라이언트가 요청을 보낼 때마다 JWT를 함께 전송하여 인증 및 권한 부여를 처리할 수 있다. 웹 애플리케이션 개발에서 JWT를 적절하게 활용하..
· Spring
오늘은 PostController을 postService과 PostRepository로 분리하는 삼계층 분리 작업을 진행하였다. 예시로 내가 Controller를 분리하는 작업이다. 완성되있는 postController이다. package com.example.post.controller; import com.example.post.dto.JDBCRepository; import com.example.post.dto.PostRepository; import com.example.post.entity.Post; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springf..
· Spring
IOC 컨테이너와 DI, 빈(Bean)에 대해 학습하였다. 이 세 가지 개념은 자바 백엔드 개발에서 중요한 역할을 하는데, IOC 컨테이너는 애플리케이션의 구성 요소를 관리하고 의존성을 주입하는 데 사용되며, 빈은 컨테이너에 의해 생성되고 관리되는 객체를 말한다. 스프링 DI(Dependency Injection)는 객체 간의 의존성을 외부에서 주입하는 디자인 패턴이다. 이를 통해 객체 간의 결합도를 낮추고 유연하고 확장 가능한 애플리케이션을 구현할 수 있다. IOC 컨테이너는 Inversion of Control의 약자로, 제어의 역전을 의미한다. 이는 기존에는 개발자가 객체의 생성과 관리를 직접 수행했지만, IOC 컨테이너를 사용하면 객체의 생명주기와 의존성 주입을 컨테이너에게 맡길 수 있다. 이를 ..
· Spring
오늘은 주특기인 Spring Boot 학습을 시작하게 되었다. 우선 인텔리제이로 Spring 프로젝트를 시작하는법과 MySQL을 설치하고 셋팅을 하게되었다. spring 프로젝트를 시작하려면 제너레이터에 spring intializr를 선택후 Gradle로 잡은후 JDK와 JAVA를 17로 하여야 오류가 뜨지않는다 20으로 설정하니 오류가 떠서 확인해보니 spring 3.1.0은 17까지 선택이 가능한것을 알게되었다. 그후 종속성은 Spring Web과 Lombok그리고 thymeleaf를 선택한후 생성하면 된다.
Msungmin
'Spring' 카테고리의 글 목록 (2 Page)