목록공부공부 (33)
이숭간 공부기록
Spring프레임워크의 3가지 핵심 프로그래밍 모델중 하나로, 외부에서 두 객체간의 관계를 결정해주는 디자인패턴으로 인터페이스를 사이에 두고 클래스 레벨에서는 의존관계가 고정되지 않도록 하고 런타임시에 관계를 동적으로 주입하여 결합도를 낮출수 있게 하는 기법이다. DI (Dependency Injection) 의존성 주입은 IoC(Invesoin of Control, 의존성 역전) 원칙하에 객체간의 결합을 약하게해주고 유지보수가좋은 코드를 만들어준다. 즉, 외부에서 생성된 객체를 이용하는 것이다. 한 객체가 어떤 객체에 의존할것인지는 별도의 관심사이다. DI컨테이너를 통해 서로 강하게 결합되어있는 두 클래스를 분리하고, 두 객체간 관계를 결정해줌으로서 결합도를 낮추고 유연성을 확보하고자 한다. (이때 다..
DAO DB에 접근하여 데이터의 조회 및 조작의 기능을 전담하는 객체 Data Access Object의 약자로 데이터베이스의 데이터에 접근하기 위해 생성하는 객체이다. 데이터베이스에 접근하기 위한 로직과 비즈니스 로직을 분리하기 위해 사용한다. 즉, DB에 접속하여 데이터의 CRUD작업을 하는 클래스이다. Spring Data JPA에서는 JpaRepository를 상속받는 인터페이스가 DAO의 역할을 하게된다. DTO 순수 데이터 객체 (데이터를 담고있는 객체) Data Transfer Object의 약자로 계층간 데이터 교환을 위한 자바빈즈를 뜻한다. DTO는 VO(value object)와 혼용해서 사용하는데 VO는 읽기만 가능한 read only의 속성을 가져 DTO와 차이가 있다. 일반적으로 ..
https://leejaedoo.github.io/object_dependency/ 토비의 스프링 | D-log 1. 오브젝트와 의존관계 leejaedoo.github.io 정독했는데 어렵다 나중에 또 공부하려고 저장
atoz-develop.tistory.com/entry/Spring-%EC%8A%A4%ED%94%84%EB%A7%81-%EB%B9%88Bean%EC%9D%98-%EA%B0%9C%EB%85%90%EA%B3%BC-%EC%83%9D%EC%84%B1-%EC%9B%90%EB%A6%AC [Spring] 스프링 빈(Bean)의 개념과 생성 원리 [Spring] 스프링 빈(Bean)의 개념과 생성 원리 빈(Bean) Spring IoC 컨테이너가 관리하는 자바 객체를 빈(Bean)이라는 용어로 부른다. 우리가 new 연산자로 어떤 객체를 생성했을 때 그 객체는 빈이 아니 atoz-develop.tistory.com https://jhkang-tech.tistory.com/44 [Spring Boot] 스프링 Bean ..
Entity(Domain) 데이터베이스에 저장하기위해 유저가 정의한 클래스를 의미한다. 일반적으로 RDBMS에서 Table을 객체화 시킨것을 의미한다. Repository 스프링부트에서 Entity의 기본적인 CRUD가 가능하도록 JpaRepository 인터페이스를 제공한다. 이때 Spring Data JPA에서 제공하는 JpaRepository인터페이스를 상속하는 인터페이스만 만들면 동적으로 구현체를 생성해서 주입해주기때문에 공짜로(?) CRUD를 이용할수 있게된다. 즉 데이터 접근계층 = DAO = Repository를 개발할때, 구현클래스없이 인터페이스만 작성해도 개발을 완료할 수 있도록 지원해준다. JpaRepository를 단순하게 상속하면 이 인터페이스는 Entity하나에 대해서 다음과 같은..
자바와 데이터베이스의 중간단계역할의 변천과정(?) 순수JDBC -> JDBC템플릿 -> JPA (MyBatis랑 같은선상) JPA는 개발자가 직접 작성해야하는 SQL쿼리도 자동으로 해주기때문에 개발생산성이 매우 높아짐. 객체를 JPA에 넣으면 JPA가 중간에서 디비에 sql날리고 데이터가져고오고 하는것을 알아서 처리해준다. JPQL = 테이블을 보고 질의를 날리는게 아니라 객체를 대상으로 쿼리를 날리면 SQL로 번역됨 JPA는 인터페이스고 각 구현체는 여러가지가 있다. 대표적인게 Hibernate! JPA는 객체와 ORM이라고 표현할수있는데 ORM은 객체와 관계형디비를 매핑해준다는 뜻이다. 이때 매핑은 어노테이션을 통해서 한다. @Entity JPA가 관리하는 엔티티가 되는것 @Id 얘는 PK다 @Gne..