컨트롤러 클래스를 지정함으로써, 요청과 관련된 메서드를 처리할 수 있게된다.메서드의 반환 값이 String일 경우, view 이름으로 인식하여 view가 렌더링 된다.@Controller와 같은 기능을 제공한다. 다만, 차이점이 존재한다.반환 값이 String일 경우,
발생한 행위에 대한 정보를 시간에 따라 남겨둔 데이터아래는 로그의 예시이다.기본적으로 시간, 로그 레벨, 프로세스 ID, 쓰레드 네임, 클래스 네임, 로그 메시지 형식을 갖는다.로그는 System.out.println()과 마찬가지로 console에 출력된다.그렇다면
Spring Bean의 데이터를 사용하는 것은 의존관계 주입이 끝난 이후에야 가능하다.그렇다면 개발자는 의존관계 주입이 완료된 시점을 어떻게 알 수 있을까?Spring Bean은 다음과같은 생명주기를 가진다.Spring 컨테이너 생성 $\\to$ Spring Bean
의존관계 주입 방법 객체 간의 관계, 즉 의존관계는 @Autowired를 통해 설정한다. 이러한 의존관계 주입의 방법은 네 가지가 있다. ❗️생성자 주입 : 생성자가 하나일 경우 생략 가능하다. Setter 주입 필드 주입 일반 메서드 주입 를 의존함과 동시에 Class(FixDiscountPolicy,RateDiscountPolicy)에도 의존한다.마치 공연에
Clean code로 유명한 Robert Martin이 좋은 객체 설계의 5가지 원칙을 정리했다.하나씩 알아보자.Single Responsibility Principle하나의 클래스는 하나의 책임만 가져야한다."책임"은 상황에 따라 클 수도, 작을 수도 있다.변경 시
객체 지향 프로그래밍 : 여러 독립적인 객체들의 결합과 협력으로 결과를 출력한다.OOP(Object-Oriented Programming)와 같은 말로, 명령어가 나열된 프로그램이 아닌 각각의 객체가 서로 메시지를 주고받으며 데이터를 처리하고 결과를 도출한다.마치 바퀴
백엔드 개발자 혹은 백엔드 개발자를 꿈꾼다면 Spring은 누구나 들어봤다.그러면 Spring은 왜 등장했을까? 옛날에는 자바 기술인 EJB를 사용해 기업에서 application을 개발했다. 그러나 EJB는 너무나 복잡하고 무거워서 많은 개발자들의 격노를 일으켰다고
JPQL 소개JPQL의 기본 문법에 대해 파악한다.parameter binding 방법에 대해 파악한다.프로젝션에 대해 파악한다.페이징 기법에 대해 파악한다.FETCH JOIN에 대해 파악한다.벌크 연산에 대해 파악한다.지금까지 우리는 em.find() member.g
임베디드 타입의 개념을 파악한다.임베디드 타입의 사용법을 파악한다.임베디드 타입의 특징을 파악한다.@AttributeOverride 의 용도를 파악한다.임베디드 타입의 한계와 대안을 파악한다.임베디드 타입 : 복합 값 타입이라고도 불리며, int String 등 여러
영속성(cascade) 전이에 대해 파악한다.고아 객체에 대해 파악한다.특정 엔티티를 영속화 할 때, 연관 엔티티도 함께 영속화하고자 할 때 사용한다.영속성을 전이하지 않으면 persist()를 세 번 호출해야하지만, 영속성 전이를 통해 persist(parent)만으
즉시 로딩에 대해 파악한다.지연 로딩에 대해 파악한다.프록시에 대해 모른다면 JPA 프록시를 보고오자.즉시 로딩 : 조회하는 엔티티가 참조하는 엔티티도 JOIN query를 사용해 함께 조회한다.실무에서 즉시 로딩은 쓸 일이 없다. 지연 로딩만 사용하자.JPQL에서 N
Proxy의 개념을 파악한다.프록시 객체의 초기화 과정을 이해한다.프록시의 특징을 파악한다.프록시 객체란, 실제 객체와 겉 모양은 같으나 실제 객체를 대신하여 동작하는 객체를 의미한다.실제 클래스를 상속받아서 만들어지며, 실제 객체의 참조(target)를 보관한다.em
상속관계 매핑에 필요한 주요 어노테이션을 파악한다.@Inheritance@DiscriminatorColumn@DiscriminatorValue@Inheritance 의 세 가지 전략을 파악한다.InheritanceType.JOINEDInheritanceType.SING
다양한 연관관계 매핑의 특징과 방법을 파악한다.N : 1, @ManyToOne1 : N, @OneToMany1 : 1, @OneToOneN : M, @ManyToMany@JoinColumn 의 역할을 파악한다.가장 많이 사용하는 연관관계이다.외래 키가 있는 쪽이 연관관
객체와 테이블이 관계를 맺는 차이에 대해 이해한다.연관관계 주인의 필요성양방향 연관관계의 규칙을 파악한다.주인을 설정하는 기준을 파악한다.mappedBy아래와같은 엔티티와 테이블 구조가 있다.객체의 경우, Member에서 Team을 참조하기 위한 필드Team team와