나를 기록하다
article thumbnail
[TIL-45/240315] MVC 패턴
TIL 2024. 3. 16. 00:10

MVC 패턴을 접한지는 어느덧 반년이 넘었다. MVC 패턴을 처음 접하고 Model, View, Controller를 구현하면서 정말 재미있게 구현했던 기억이 난다. 그러다가 Model, View, Controller에 이어서 Service를 분리하여 구현하는 코드를 접하게 되었다. 하지만 그때의 나는 왜 꼭 Service가 필요하지? Controller에서 모든 코드를 구현하면 안되나? 라고 생각하며 Service의 필요성을 확실하게 느끼지 못하였고, 현재까지도 개발할 때 Service를 만들긴 하였으나, 왜 Service가 필요한지, Controller와 어떻게 분리해야 하는지에 대한 확실한 이해가 없이 개발을 해왔던 것 같다. 그렇기 때문에 이번 기회를 통하여 Controller와 Service의 ..

article thumbnail
[TIL-44/240314] Filter & Interceptor
TIL 2024. 3. 15. 00:23

오늘은 Filter와 Interceptor에 대한 공부를 하였다. 먼저 Listener, Filter, Interceptor의 정의에 대해서 알아보고, 이번 내용의 핵심인 Filter와 Interceptor를 비교하면서 정리하고자 한다. Listener부터 시작하겠다. Listener, Filter, Interceptor Listener란? 프로그래밍에서 Listener란 특정 이벤트가 발생하기를 기다리다가 실행되는 객체 이벤트란 특정한 사건 발생 버튼 클릭 ,키보드 입력, 컨테이너 빌드 완료, 웹 어플리케이션 시작, HTTP 요청 수신 등 서블릿 컨테이너에서 발생하는 이벤트 감지 web.xml 파일에 태그를 이용하여 사용 가능 리스너가 여러 개일 경우 보통 선언된 순서대로 실행되지만 아닌 경우도 있음 ..

article thumbnail
DAO, DTO, VO, ENTITY
CS 2023. 9. 3. 00:22

개인 프로젝트를 진행하다가 회원가입 기능을 구현하는데 MemberForm을 따로 분리하여 구현하는 것과 폼 없이 엔티티를 직접 등록과 수정 화면에서 사용하는 것의 차이에 대해 궁금해졌고, 알아보기로 했다. 우선 간단하게 정의하자면 아래와 같다. DAO: DB에 접근하는 역할을 하는 객체 DTO: 데이터를 전달하기 위한 객체 VO: 값 자체를 표현하는 객체 1. DAO (Data Access Object): 특징 DB에 접근하기 위한 객체 직접 DB에 접근하여 데이터 삽입, 삭제, 조회 가능(CRUD) DB에 접근하기 위한 로직과 비즈니스 로직을 분리하기 위해 사용 DB와 연결할 Connection까지 설정되어 있는 경우가 많다. Service와 DB를 연결하는 고리 역할을 한다. Repository pa..

article thumbnail
[Spring Boot]JAVA_HOME is set to an invalid directory - 자바 환경변수 설정 관련
Error/Spring Boot 2023. 8. 14. 22:39

에러 내용 1) 발생 gradle 파일을 터미널에서 실행하려고 ./gradlew build를 입력하였더니 위와 같은 에러가 발생하였다. 환경변수 관련 문제였다. 2) 원인 나는 zsh를 쓴다는 것을 망각한 채 구글링을 통해 vi ~/.bash_profile을 수정하고 동작하지 않아서 시간을 꽤나 보냈다… 다른 사람들은 이것부터 미리 체크하여 나처럼 바보같은 행동을 하지 않길 바란다. 3) 해결 여튼 나처럼 zsh를 사용하고 있다면 다음과 같이 진행하면 된다. java —version 을 이용해 자바 버전 체크 cd /Library/Java/JavaVirtualMachines 로 이동하여 본인이 사용하는 버전의 jdk의 /Contents/Home 으로 이동 pwd 를 입력하여 주소를 확인하고 복사 vi ~..

article thumbnail
[Spring Boot] @NotEmpty 인식 불가(validation 관련)
Error/Spring Boot 2023. 7. 14. 13:57

에러 내용 1) 발생 → @NotEmpty 어노테이션이 인식되지 않는다. 2) 원인 Validation in Spring Boot | Baeldung 스프링 공식문서에서 부트2.3 부터는 validation 을 지원하지 않는다. 직접 ingection을 해줘야 한다. [Starting with Boot 2.3, we also need to explicitly add the spring-boot-starter-validation dependency:] 3) 해결 build.gradle 파일 dependency 부분에 아래 코드를 추가하면 사용 가능 implementation 'org.springframework.boot:spring-boot-starter-validation'

article thumbnail
[Spring Boot] Test 수행 시 NullPointerException 에러
Error/Spring Boot 2023. 7. 13. 23:23

에러 내용 1) 발생 2) 원인 package jpabook.jpashop.service; import jpabook.jpashop.domain.Address; import jpabook.jpashop.domain.Member; import jpabook.jpashop.domain.Order; import jpabook.jpashop.domain.OrderStatus; import jpabook.jpashop.domain.item.Book; import jpabook.jpashop.repository.OrderRepository; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.s..

profile on loading

Loading...