728x90
반응형

Spring boot 5

[Management] vue.js 빌드 파일 spring project 병합

문제 인식 원래 생각했던 방식은 /src/resource/static 폴더에 빌드를 통해 만들어진 /js, /css index.html 파일을 넣고 http://localhost:8080/ 으로 접속하면 되겠다고 생각했습니다. 하지만 다른 설정이 필요했고, Spring Security도 적용되어 있어서 설정해줘야할 내용이 많았습니다. 설정 내용 config 파일이 모여있는 디렉터리에 WebMvcConfig 클래스를 생성하여 설정을 하였습니다. import org.springframework.context.annotation.Configuration; import org.springframework.core.io.ClassPathResource; import org.springframework.core.i..

Project/Management 2022.10.14

[Spring] Netty 서버 구현과 문제 발생

Netty 를 스프링 에서 구현해보았습니다. 클라이언트는 테스트 프로그램을 이용하였습니다. 테스트 프로그램을 통해 데이터를 보내고 서버에서 그 데이터를 받는 테스트를 해보았습니다. Netty Server Code [NettySocketServer.java] package twim.netty.server; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.*; import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.socket.SocketChannel; import io.netty.channel.socket.nio.NioServerSocketChannel; publi..

Spring 2022.08.16

[Spring Boot] Todo 서비스 구현 (1)

프로젝트 구성 도메인을 생성할 때 클래스는 한가지 기능만을 하도록 하는 SRP를 지켰고, 관심사를 분리하여 DIP를 지키기 위해 생각을 하며 코딩했습니다. SRP, DIP에 대한 자세한 설명 [Spring] 객체 지향 설계의 다섯 가지 기본 원칙 - SOLID SOLID 다섯 가지 설계 원칙 단일 책임 원칙(SRP: Single Responsibility Principle) 한 클래스는 하나의 책임만 가져야 한다. 책임 영역이 확실해지고, 한 클래스의 변경이 다른 클래스의 영향을 미치지 않습 lakelight.tistory.com [Todo.java] package hooyn.todo.domain; import lombok.AccessLevel; import lombok.Getter; import lom..

Project/Todo 2022.07.17

[Refactoring] 관심사 분리를 통한 DIP 지키기

원래 코드 [기존 Member Service 코드 1] [Spring Boot] Member 서비스 구현 (1) domain/Member.java package hooyn.todo.domain; import lombok.*; import org.hibernate.annotations.GenericGenerator; import org.springframework.security.crypto.password.PasswordEncoder; import javax.pe.. lakelight.tistory.com [기존 Member Service 코드 2] 저장 이렇게 오버라이딩 해서 구현을 할 수 있습니다. */ public UUID save(Member member){ em.persist(member); r..

Project/Todo 2022.07.15

[Spring Boot] Member 서비스 구현 (2)

비밀번호 제약 조건 확인 API [ MemberService.java ] /** * 비밀번호 제약조건 확인 */ public boolean checkPasswordConstraint(String userPW){ Pattern pattern = Pattern.compile("^(?=.*[a-zA-Z])(?=.*\\d).{8,20}$"); return pattern.matcher(userPW).matches(); } → 이전에 만들었던 비밀번호 제약조건 확인하는 로직(영문 숫자 포함 8~20자리)으로 API 설계 [CheckPasswordConstraintRequest.java] import lombok.Getter; @Getter public class CheckPasswordConstraintReques..

Project/Todo 2022.07.13
728x90
반응형