BackEnd(Java)(85)
-
엔티티 매핑
✅ 아래 내용들에 대해서 알아보자 - @Entity - @Table @Entity @Entity가 붙은 클래스는 JPA 관리하는 엔티티가 된다. JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 필수! @Entity 속성 name JPA에서 사용할 엔티티 이름 지정 클래스 이름이 default 값이다. 같은 클래스 이름 없으면 가급적 기본값 권장 @Entity 사용 시주의사항 1. JPA 구현체(ex. Hibernate)는 엔티티 객체를 생성할 때 기본생성자를 사용한다.(필수) -> JPA는 앤티티 객체로 변환하기 위해 Java의 리플랙션을 사용하는데, 이때 JPA 구현체는 앤티티 객체를 생성하기 위해 기본생성자를 호출하여 객체를 초기화한다. 2. JPA는 프락시 객체를 사용하여 지연로딩을 구현하..
2023.05.21 -
영속성 컨텍스트
✅ 아래 내용들에 대해서 알아보자 - 엔티티 매니저 팩토리와 앤티티 매니저 - 영속성 콘텍스트 - 엔티티 생명주기 - 영속성 콘텍스트 특징 - 플러시 - 준영속 엔티티 매니저 팩토리와 앤티티 매니저 DB를 하나만 사용하는 애플리케이션은 일반적으로 EntityManagerFactory를 하나만 생성한다. EntityManagerFactory emf=Persistence.createEntityManagerFactory("jpabook"); 앤티티 매니저 팩토리는 이름 그대로 앤티티 매니저를 만드는 공장 역할을 하며, 공장을 만드는 비용은 상당히 크다. 따라서 하나의 엔티티 매니저 팩토리를 생성하여 공유하도록 설계되어 있다. 반면 공장에서 엔티티 매니저를 생성하는 비용은 거의 들지 않는다. 앤티티 매니저 팩토..
2023.05.17 -
Path Variable vs Query Parameter
✅ 아래 내용들에 대해서 알아보자 - Path Variable - Query Paramter(String) - 각각 언제 사용해야 하는가? - 정리 Path Variable pathVariable은 url 경로에 변수를 포함하는 방식이다. User와 관련된 API를 설계해보자. GET .../users/11 -> id가 11인 유저 찾기 POST .../users ->유저 등록 PATCH .../users/11 ->id가 11인 유저 수정 DELETE .../users/11 ->id가 11인 유저 삭제 Query Parameter queryParamter는 url끝에 ?와 함께 ket-value쌍을 포함시키는 방식이다. 성별이 남자인 유저를 찾는 API를 설계해보자. GET .../users?sex=m..
2023.04.14 -
@Meta Annotation에 대해서 알아보자
✅ 아래 내용들에 대해서 알아보자 - 메타 어노테이션이란 - 메타 어노테이션 종류 - 예시 코드 메타 어노테이션 메타 어노테이션이란 java 코드에 메타 정보를 추가할 수 있는 구문의 한 형태. 클래스, 메서드, 변수, 매개변수 및 java 패키지에 어노테이션을 달 수 있다. 해당 어노테이션을 jvm 런타임 및 리플렉션을 통해 읽게 된다. 메타 어노테이션 종류 1. @Target 어노테이션을 어떤 요소에 적용할지 지정 @Target(ElementType.TYPE) 클래스의 어떤 요소에나 적용 가능, 기본값 @Target(ElementType.FIELD) 클래스의 특정 필드 @Target(ElementType.METHOD) 클래스의 메서드 @Target(ElementType.PARAMETER) 메서드의 파..
2023.02.24 -
스프링 IoC/DI 찍먹
✅ 아래 내용들에 대해서 알아보자- IoC- IoC 컨테이너- DI, DI 방식 IoC IoC(Inversion of Control, 제어의 역전)란 프로그램의 일부에 대한 제어를 프레임워크로 이전하는 소프트웨어 엔지니어링 원칙이다.스프링에서는 IOC는 클래스 간의 느슨한 결합을 하기 위해 객체의 생성과 관리를 컨테이너를 통해 프레임워크가 제어하는 것을 의미한다.스프링 컨테이너가 제어권을 가지고 있다고 해서 스프링 컨테이너를 IoC 컨테이너라고 부른다. 이전 개발방식에서는 개발자가 직접 객체를 생성하고 의존성을 관리해야 했으나, 스프링에서는 객체의 생성과 의존성 관리를 IoC 컨테이너가 담당함으로써 객체 간의 결합도를 낮추고, 유연하고 확장성 높은 애플리케이션을 개발할 수 있다. IoC 컨테이너 스프링..
2023.02.24 -
3. Job
✅ 아래 내용들에 대해서 알아보자 - Job - JobInstance - JobParameters - JobExecution Job 배치 계층 구조에서 가장 상위에 있는 개념으로서 하나의 배치작업 자체를 의미 Job Configuration을 통해 생성되는 객체 단위로서 배치작업을 어떻게 구성하고 실행할 것인지 전체적으로 설정하고 명세해 놓은 객체 배치 Job을 구성하기 위한 최상위 인터페이스이며 스프링 배치가 기본 구현체를 제공한다 여러 Step 을 포함하고 있는 컨테이너로서 반드시 한 개 이상의 Step으로 구성해야 함 Job은 SimpleJob과 FlowJob으로 구성도미 SimpleJob 순차적으로 Step 을 실행시키는 Job 모든 Job에서 유용하게 사용할 수 있는 표준 기능을 갖고 있음 Fl..
2023.02.14