본문 바로가기

SpringBoot2

[Spring] Spring DI 개념과 방법 Spring DI란? 외부에서 두 객체 간의 관계를 결정해주는 것으로 클래스 레벨에서는 의존 관계가 고정되지 않게 하고 런타임 시에 관계를 동적으로 주입하여 유연성을 확보하고 결합도를 낮출 수 있게 해준다. 객체를 직접 생성하는 것이 아니라, 외부(IoC/DI 컨테이너)에서 생성한 후 주입시켜주는 방식이다. 애플리케이션 실행 시점에 필요한 객체(빈)을 생성해야 하며, 의존성이 있는 두 객체를 연결하기 위해 한 객체를 다른 객체로 주입시켜야 한다. 이때, 주입시켜주는 역할을 위해 IoC/DI 컨테이너가 필요하다. 의존성 주입은 제어의 역전(IoC)라고 불리기도 한다. 어떠한 객체를 사용할지에 대한 책임은 프레임워크에게 넘어갔고, 사용자는 수동적으로 주입받는 객체를 사용하기 때문이다. 한 객체가 어떤 객체에.. 2022. 8. 22.
[JPA] Spring Data JPA containing 관련 에러 프로젝트 진행 중 검색 기능을 구현하는 과정에 발생한 일이다. /api/search?keyword="검색어" RequestParam으로 넘어온 검색어를 포함한 데이터를 찾기 위해 Spring Data JPA를 사용했고 like 쿼리문을 사용하기 위해 다음과 같이 containing을 사용하여 작성했다. public interface SearchRepository extends JpaRepository { List findByTitleContaining(String keyword); } 다음과 같이 임의로 세 개의 post를 저장하고 private void savePost() { Post post = new Post(1L, "유교수님 운영체제 전공책 팔아요~"); Post post2 = new Post(2.. 2022. 5. 5.