나를 기록하다
article thumbnail
[Interview] Spring, DI, IoC, ORM, JPA, Hibernate
CS/Interview 2023. 9. 9. 10:00

Spring 객체를 관리할 수 있는 컨테이너를 제공하는 프레임워크 예시 공통적으로 사용하는 객체가 있다고 가정 A 클래스, B 클래스, C 클래스가 있을 때 D 클래스의 인스턴스인 d를 사용하려면 메모리에 d를 3개(A, B, C 각각 생성) 생성해야함. → 같은 기능을 하는 d가 메모리에 3개가 존재하므로 굉장히 비효율적 → 공통으로 사용하는 하나는 같이 쓸 수 있게 컨테이너를 제공하는 것이 Spring Core 과거에는 EJB가 존재했다. EJB는 상속, 구현 등 복잡했다. 이것에 대한 불만을 가지고 만든 것이 Spring Spring은 순수 Java로 구성되어 있고 객체를 관리하는 역할을 한다. 오픈소스란 소스를 오픈하는 것. 즉 모두가 기능을 추가할 수 있도록 개발한 소스를 오픈하는 것을 말한다...

article thumbnail
[Spring] Spring MVC에서의 HTTP 요청 처리(Get,Post, @GetMapping, @PostMapping ...)
Error/Spring 2023. 9. 4. 00:18

Java + Spring Boot로 개인 미니 프로젝트를 진행하면서, Controller에서 자주 사용하는 HTTP 요청 처리 어노테이션인 @GetMapping과 @PostMapping이 헷갈려서 정리를 하고자 글을 작성한다. 우선 Get과 Post에 대해서 먼저 이해를 해보자. Get 용도 클라이언트에서 서버로 어떠한 리소스로부터 정보를 요청하기 위해 사용되는 메서드 데이터를 읽거나(Read), 검색(Retreive)할 때 사용되는 메서드로 요청을 전송할 때 URL 주소 끝에 파라미터로 포함되어 전송된다. 이 부분을 쿼리 스트링(Query String)이라고 부른다. 특징 URL에 데이터를 포함시켜서 요청 → 민감한 데이터를 사용할 때는 사용해선 안된다. 데이터를 Header에 포함하여 전송 데이터 길..

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...