전체 글51 [Spring] 스프링 AOP 개념, 용어 정리 핵심 기능과 부가기능 애플리케이션 로직은 크게 핵심 기능과 부가 기능으로 나눌 수 있다 핵심 기능 : 해당 객체가 제공하는 고유의 기능 (ex. OrderService 의 핵심 기능은 주문 로직) 부가 기능 : 핵심 기능을 보조하기 위해 제공되는 기능 (ex. 로그 추적 로직, 트랜잭션 기능) 이러한 부가 기능은 단독으로 사용되지 않고, 핵심 기능과 함께 사용됨 여러 곳에서 공통으로 사용하는 부가기능 보통 부가 기능은 여러 클래스에 걸쳐서 함께 사용된다. 예를 들어서 모든 애플리케이션 호출을 로깅 해야 하는 요구사항을 생각해보자. 이러한 부가 기능은 횡단 관심사(cross-cutting concerns)가 된다. 쉽게 이야기해서 하나의 부가 기능이 여러 곳에 동일하게 사용된다는 뜻이다 그런데 이런 부가 .. 2022. 7. 28. [Spring] @RequriedArgsConstructor 어노테이션 @RequriedArgsConstructor 의존성 주입의 종류로는 Constructor, Setter, Field 타입이 있다. 1. Constructor(생성자) @Service public class MemberListPrinter { private MemberDao memberDao; private MemberPrinter printer; @Autowired public MemberListPrinter(MemberDao memberDao, MemberPrinter printer){ this.memberDao = memberDao; this.printer = printer; } } 2. Setter public class MemberListPrinter { private MemberDao membe.. 2022. 7. 28. [Spring] @Qualifier 어노테이션 @Qualifier 예전에 스프링으로 파일 업로드/다운로드 기능을 구현한 코드를 보다가 문득 @Qualifier 어노테이션이 붙어있는 것을 발견했는데 용도가 기억이 나질 않았다. 파일 관리를 위한 기본적인 인터페이스와 클래스를 다음과 같이 구현하였다. public interface StorageService { void init(Path path); String store(String uploadPath, MultipartFile file) throws Exception; public Resource load(String filePath) throws Exception; boolean delete(String filePath) throws IOException; } @NoArgsConstructor @S.. 2022. 7. 28. [JPA] 상속관계 매핑, @MappedSuperclass 본 게시글은 김영한 님의 자바 ORM 표준 JPA 프로그래밍 - 기본편 을 정리한 내용입니다. 상속관계 매핑 관계형 데이터베이스는 상속 관계X 슈퍼타입 서브타입 관계라는 모델링 기법이 객체 상속과 유사 상속관계 매핑: 객체의 상속과 구조와 DB의 슈퍼타입 서브타입 관계를 매핑 슈퍼타입 서브타입 논리 모델을 실제 물리 모델로 구현하는 방법 조인 전략: 각각 테이블로 변환 단일 테이블 전략: 통합 테이블로 변환 구현 클래스마다 테이블 전략: 서브타입 테이블로 변환 주요 어노테이션 @Inheritance(strategy=InheritanceType.XXX) => 부모 클래스에서 사용 JOINED: 조인 전략 SINGLE_TABLE: 단일 테이블 전략 TABLE_PER_CLASS: 구현 클래스마다 테이블 전략 .. 2022. 7. 28. [JPA] 다대일,일대다,일대일,다대다 (@ManyToOne,@OneToMany,@OneToOne,@ManyToMany) 본 게시글은 김영한 님의 자바 ORM 표준 JPA 프로그래밍 - 기본편 을 정리한 내용입니다. 연관관계 매핑시 고려사항 단방향, 양방향 테이블 외래 키 하나로 양쪽 조인 가능 사실 방향이라는 개념이 없음 객체 참조용 필드가 있는 쪽으로만 참조 가능 한쪽만 참조하면 단방향 양쪽이 서로 참조하면 양방향 연관관계의 주인 테이블은 외래 키 하나로 두 테이블이 연관관계를 맺음 객체 양방향 관계는 A->B, B->A 처럼 참조가 2군데 객체 양방향 관계는 참조가 2군데 있음. 둘중 테이블의 외래 키 를 관리할 곳을 지정해야함 연관관계의 주인: 외래 키를 관리하는 참조 주인의 반대편: 외래 키에 영향을 주지 않음, 단순 조회만 가능 연관 관계에 대한 추가적인 내용은 이전 글을 참고하세요 다대일[N:1] - @Many.. 2022. 7. 28. [JPA] JPA 설정하기 본 게시글은 김영한 님의 자바 ORM 표준 JPA 프로그래밍 - 기본편 을 정리한 내용입니다. Maven 으로 새 프로젝트를 생성한다. pom.xml org.hibernate hibernate-entitymanager 5.3.10.Final com.h2database h2 1.4.199 JPA(인터페이스)의 구현체로 하이버네이트, 데이터베이스로 H2를 선택했다. H2 데이터베이스 특징 빠르고 작은 크기의 RDBMS(관계형 데이터베이스) 임베디드 및 서버모드(영구 데이터베이스), 인 메모리 데이터베이스 => 주로 메모리에 데이터를 저장, 디스크에 데이터를 저장할 수도 있음 MySQL, Oracle 데이터베이스 시뮬레이션 기능 시퀀스, AUTO INCREMENT 기능 지원 JPA 설정 - persistenc.. 2022. 7. 28. 이전 1 ··· 5 6 7 8 9 다음