'Spring' 태그의 글 목록
본문 바로가기
728x90

Spring5

Spring DI 종류 1. 생성자 주입 생성자에 파라미터를 만들어두고 이를 통해 DI 컨테이너가 의존할 오브젝트 레퍼런스를 넘겨주는 방식 // PicoContainer class MovieLister... public MovieLister(MovieFinder finder) { this.finder = finder; } ​ class ColonMovieFinder... public ColonMovieFinder(String filename) { this.filename = filename; } 무의식 중에 가장 많이 쓰는 주입 방식 객체 생성시 필수로 생성자가 실행되기 때문에, 필드 주입과 달리 참조 관계를 눈으로 쉽게 확인할 수 있다. 2. Setter 주입 의존성을 입력받는 세터 메소드를 만들고 이를 통해 의존성을 주입 .. 2022. 4. 22.
Spring IoC, DI 가 무엇인지 IoC(Inversion of Control) : 제어가 반대로 간다는 개념 IoC는 Spring 에서만 사용되는 개념이 아니며, 프로그래밍 패턴이기 때문에 범용적으로 쓰이며 작게는 객체간에 디자인 패턴으로 크게는 컨테이너, 프레임워크 역활에 적합한 구조이기 때문에 상황에 맞게 사용되는 프로그래밍 모델이다. "IoC : 제어의 역전" 이라는 의미는 말 그대로 메소드나 객체의 호출작업을 개발자가 결정하는 것이 아니라, 외부에서 결정되는 것을 의미한다. 즉, IoC는 객체 생명 관리, 흐름 제어를 제 3자에게 위임하는 프로그래밍 모델이다. 일반적으로 자바 프로그램은 main() 메소드에서 시작해서 개발자가 미리 정한 순서를 따라 객체가 생성되곡 실행된다. 그런데 서블릿은 배포하고 나서 개발자가 직접 제어할 .. 2022. 4. 19.
Spring-JPA-hibernate.naming JPA를 적용하고 나서 Entity 생성 시 변수 명을 그대로 매핑 안하고 언더바 형식 카멜을(UserName => user_name) 으로 자동 매핑해준다. 이 부분을 변수 명과 DB칼럼명을 그대로 매핑 하려면 application.properties 에 추가해주면 된다. spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl application.yml 경우 jpa: hibernate: ddl-auto: none naming: physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategy.. 2022. 3. 22.
JPA의 Entity 정의 JPA에서 사용되는 엔티티 클래스는 테이블과 매핑되는 클래스이다. 테이블에 대응하는 하나의 클래스 선언 ***엔티티 클래스의 선언***은 XML 파일에 작성하는 방법과 Java 파일에 직접 애노테이션으로 작성하는 방법이 있다. 어노테이션이 읽기 편하다. Entity Manager 엔티티를 관리하는 객체 매니저의 책임이 전부 영속성 엔티티의 CRUD에 관련 엔티티의 저장 엔티티의 수정 엔티티의 삭제 엔티티의 조회 특징 엔티티 매니저는 영속성 상태의 엔티티 관리를 위해 DB 세션과 밀접한 연관을 가지기 때문에, 여러 스레드에서 공유하여 사용하면 위험하다. 엔티티 매니저 팩토리로부터 엔티티 매니저 생성 각 스레드마다 엔티티 매니저를 생성하는 방식이 권장된다. 획득한 커넥션을 통해 엔티티 CRUD 관리 데.. 2021. 8. 27.
JPA(Java Persistence API)란 JPA(Java Persistence API)란 자바 진영의 ORM 기술 표준 Persistence는 데이터를 생성한 프로그램의 실행이 종료되더라도 사라지지 않는 데이터의 특성을 의미 JPA는 자바에 있는 데이터를 영구히 기록할 수 있는 환경을 제공하는 API이다.(DB Mapping) ORM을 사용하기 위한 인터페이스를 모아둔 것 ORM 이란 Hibernate(ORM 프레임 워크) 다양한 ORM 프레임워크 중 가장 많이 사용되는 프레임워크, Open Source SW 이러한 Hibernate 기반으로 만들어진 ORM 기술 표준이 바로 JPA JPA를 사용하려면 Hibernate를 사용하면 된다. 장단점 장점 JPA는 반복적인 CRUD 작업을 생략가능 JPA는 영속성(영구적) 컨텍스트를 가지고 있다. 불.. 2021. 8. 6.
728x90