Spring 객체를 관리할 수 있는 컨테이너를 제공하는 프레임워크 예시 공통적으로 사용하는 객체가 있다고 가정 A 클래스, B 클래스, C 클래스가 있을 때 D 클래스의 인스턴스인 d를 사용하려면 메모리에 d를 3개(A, B, C 각각 생성) 생성해야함. → 같은 기능을 하는 d가 메모리에 3개가 존재하므로 굉장히 비효율적 → 공통으로 사용하는 하나는 같이 쓸 수 있게 컨테이너를 제공하는 것이 Spring Core 과거에는 EJB가 존재했다. EJB는 상속, 구현 등 복잡했다. 이것에 대한 불만을 가지고 만든 것이 Spring Spring은 순수 Java로 구성되어 있고 객체를 관리하는 역할을 한다. 오픈소스란 소스를 오픈하는 것. 즉 모두가 기능을 추가할 수 있도록 개발한 소스를 오픈하는 것을 말한다...
Java + Spring Boot로 개인 미니 프로젝트를 진행하면서, Controller에서 자주 사용하는 HTTP 요청 처리 어노테이션인 @GetMapping과 @PostMapping이 헷갈려서 정리를 하고자 글을 작성한다. 우선 Get과 Post에 대해서 먼저 이해를 해보자. Get 용도 클라이언트에서 서버로 어떠한 리소스로부터 정보를 요청하기 위해 사용되는 메서드 데이터를 읽거나(Read), 검색(Retreive)할 때 사용되는 메서드로 요청을 전송할 때 URL 주소 끝에 파라미터로 포함되어 전송된다. 이 부분을 쿼리 스트링(Query String)이라고 부른다. 특징 URL에 데이터를 포함시켜서 요청 → 민감한 데이터를 사용할 때는 사용해선 안된다. 데이터를 Header에 포함하여 전송 데이터 길..
에러 내용 1) 발생 gradle 파일을 터미널에서 실행하려고 ./gradlew build를 입력하였더니 위와 같은 에러가 발생하였다. 환경변수 관련 문제였다. 2) 원인 나는 zsh를 쓴다는 것을 망각한 채 구글링을 통해 vi ~/.bash_profile을 수정하고 동작하지 않아서 시간을 꽤나 보냈다… 다른 사람들은 이것부터 미리 체크하여 나처럼 바보같은 행동을 하지 않길 바란다. 3) 해결 여튼 나처럼 zsh를 사용하고 있다면 다음과 같이 진행하면 된다. java —version 을 이용해 자바 버전 체크 cd /Library/Java/JavaVirtualMachines 로 이동하여 본인이 사용하는 버전의 jdk의 /Contents/Home 으로 이동 pwd 를 입력하여 주소를 확인하고 복사 vi ~..
에러 내용 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'
에러 내용 1) 발생 package jpabook.jpashop.service; import jpabook.jpashop.domain.Member; import jpabook.jpashop.repository.MemberRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.junit.jupiter.api.Test; import org.springframework.test.annotation.Rollback; import org.springframework.transaction.annotation.T..
에러 내용 1) 발생 2) 원인 원인은 간단했다. 강의를 보며 따라할 때, h2 DB를 끄고 하는건줄 알고 iterm에서 ctrl + C를 눌러 h2 DB를 끄고 ./gradlew clean build를 실행했었다. 하지만 백그라운드로 h2 DB를 실행시켜둔 상태로 build를 진행해야 한다. 3) 해결 제대로 build가 된 것을 볼 수 있다. clean build를 성공한 후 java -jar을 통해 .jar 파일을 터미널에서 실행시킬 수 있다.