profile
I AM WHO I AM
post-thumbnail

Spring MVC 기본 기능

컨트롤러 클래스를 지정함으로써, 요청과 관련된 메서드를 처리할 수 있게된다.메서드의 반환 값이 String일 경우, view 이름으로 인식하여 view가 렌더링 된다.@Controller와 같은 기능을 제공한다. 다만, 차이점이 존재한다.반환 값이 String일 경우,

2023년 8월 3일
·
1개의 댓글
·
post-thumbnail

Spring Logging

발생한 행위에 대한 정보를 시간에 따라 남겨둔 데이터아래는 로그의 예시이다.기본적으로 시간, 로그 레벨, 프로세스 ID, 쓰레드 네임, 클래스 네임, 로그 메시지 형식을 갖는다.로그는 System.out.println()과 마찬가지로 console에 출력된다.그렇다면

2023년 8월 2일
·
2개의 댓글
·
post-thumbnail

Spring Bean 생명주기 콜백

Spring Bean의 데이터를 사용하는 것은 의존관계 주입이 끝난 이후에야 가능하다.그렇다면 개발자는 의존관계 주입이 완료된 시점을 어떻게 알 수 있을까?Spring Bean은 다음과같은 생명주기를 가진다.Spring 컨테이너 생성 $\\to$ Spring Bean

2023년 6월 1일
·
2개의 댓글
·
post-thumbnail

Spring @Autowired 의존관계 주입

의존관계 주입 방법 객체 간의 관계, 즉 의존관계는 @Autowired를 통해 설정한다. 이러한 의존관계 주입의 방법은 네 가지가 있다. ❗️생성자 주입 : 생성자가 하나일 경우 생략 가능하다. Setter 주입 필드 주입 일반 메서드 주입 ![](https:/

2023년 5월 20일
·
2개의 댓글
·
post-thumbnail

Spring @ComponentScan과 @Autowired

이전까지 우리는 아래와같이 @Bean을 통해 Spring 컨테이너에 Spring Bean을 등록했다.AppConfig.java등록해야 할 Bean이 많아질수록, 누락할 위험과 번거로움을 감수해야할 것이다.따라서, Spring은 @ComponentScan을 통해 설정 정

2023년 5월 20일
·
0개의 댓글
·
post-thumbnail

Spring 싱글톤 컨테이너

우선, 스프링 없는 순수 Java로 이루어진 DI 컨테이너를 떠올려보자.여러 Client가 객체를 요청하면, 아래와같이 호출할 때마다 새로운 객체를 생성하여 반환할 것이다.이는 수천개의 요청이 들오오면 객체또한 수천개를 생성하게 됨을 의미하고, 심각한 메모리 낭비를 야

2023년 5월 18일
·
0개의 댓글
·
post-thumbnail

Spring 적용

ApplicatoinContext는 Spring 컨테이너의 최상위 Interface인 BeanFactory를 상속받은 Class이자 Spring 컨테이너이다.Spring 컨테이너 : 객체들의 설정 정보를 전달받아 생성하고 관리하는 역할이다.Spring 컨테이너는 Int

2023년 5월 18일
·
0개의 댓글
·
post-thumbnail

Spring IoC, DI, 컨테이너

Inversion of Control이전 글에서의 AppConfig의 역할을 떠올려보자.기존에는 Client 코드에서 구현 객체를 생성하여 실행됐지만, AppConfig의 등장으로 Client 코드는 자신의 로직만 실행하게 됐다.즉, 프로그램의 제어 흐름을 AppCon

2023년 5월 18일
·
0개의 댓글
·
post-thumbnail

Spring 관심사의 분리

아래 Client가 접근할 코드를 살펴보자.위 코드의 문제점은 무엇일까?DIP 위반 : Client가 Interface(DiscountPolicy)를 의존함과 동시에 Class(FixDiscountPolicy,RateDiscountPolicy)에도 의존한다.마치 공연에

2023년 5월 18일
·
0개의 댓글
·
post-thumbnail

Spring SOLID 원칙

Clean code로 유명한 Robert Martin이 좋은 객체 설계의 5가지 원칙을 정리했다.하나씩 알아보자.Single Responsibility Principle하나의 클래스는 하나의 책임만 가져야한다."책임"은 상황에 따라 클 수도, 작을 수도 있다.변경 시

2023년 5월 17일
·
0개의 댓글
·
post-thumbnail

Spring 객체 지향 프로그래밍

객체 지향 프로그래밍 : 여러 독립적인 객체들의 결합과 협력으로 결과를 출력한다.OOP(Object-Oriented Programming)와 같은 말로, 명령어가 나열된 프로그램이 아닌 각각의 객체가 서로 메시지를 주고받으며 데이터를 처리하고 결과를 도출한다.마치 바퀴

2023년 5월 17일
·
0개의 댓글
·
post-thumbnail

Spring 소개

백엔드 개발자 혹은 백엔드 개발자를 꿈꾼다면 Spring은 누구나 들어봤다.그러면 Spring은 왜 등장했을까? 옛날에는 자바 기술인 EJB를 사용해 기업에서 application을 개발했다. 그러나 EJB는 너무나 복잡하고 무거워서 많은 개발자들의 격노를 일으켰다고

2023년 5월 17일
·
0개의 댓글
·
post-thumbnail

JPA JPQL

JPQL 소개JPQL의 기본 문법에 대해 파악한다.parameter binding 방법에 대해 파악한다.프로젝션에 대해 파악한다.페이징 기법에 대해 파악한다.FETCH JOIN에 대해 파악한다.벌크 연산에 대해 파악한다.지금까지 우리는 em.find() member.g

2023년 5월 16일
·
0개의 댓글
·
post-thumbnail

JPA 임베디드 타입

임베디드 타입의 개념을 파악한다.임베디드 타입의 사용법을 파악한다.임베디드 타입의 특징을 파악한다.@AttributeOverride 의 용도를 파악한다.임베디드 타입의 한계와 대안을 파악한다.임베디드 타입 : 복합 값 타입이라고도 불리며, int String 등 여러

2023년 5월 2일
·
0개의 댓글
·
post-thumbnail

JPA 영속성 전이

영속성(cascade) 전이에 대해 파악한다.고아 객체에 대해 파악한다.특정 엔티티를 영속화 할 때, 연관 엔티티도 함께 영속화하고자 할 때 사용한다.영속성을 전이하지 않으면 persist()를 세 번 호출해야하지만, 영속성 전이를 통해 persist(parent)만으

2023년 4월 29일
·
0개의 댓글
·
post-thumbnail

JPA 즉시 로딩과 지연 로딩

즉시 로딩에 대해 파악한다.지연 로딩에 대해 파악한다.프록시에 대해 모른다면 JPA 프록시를 보고오자.즉시 로딩 : 조회하는 엔티티가 참조하는 엔티티도 JOIN query를 사용해 함께 조회한다.실무에서 즉시 로딩은 쓸 일이 없다. 지연 로딩만 사용하자.JPQL에서 N

2023년 4월 29일
·
0개의 댓글
·
post-thumbnail

JPA 프록시

Proxy의 개념을 파악한다.프록시 객체의 초기화 과정을 이해한다.프록시의 특징을 파악한다.프록시 객체란, 실제 객체와 겉 모양은 같으나 실제 객체를 대신하여 동작하는 객체를 의미한다.실제 클래스를 상속받아서 만들어지며, 실제 객체의 참조(target)를 보관한다.em

2023년 4월 29일
·
0개의 댓글
·
post-thumbnail

JPA 상속관계 매핑

상속관계 매핑에 필요한 주요 어노테이션을 파악한다.@Inheritance@DiscriminatorColumn@DiscriminatorValue@Inheritance 의 세 가지 전략을 파악한다.InheritanceType.JOINEDInheritanceType.SING

2023년 4월 28일
·
0개의 댓글
·
post-thumbnail

JPA 다양한 연관관계 매핑

다양한 연관관계 매핑의 특징과 방법을 파악한다.N : 1, @ManyToOne1 : N, @OneToMany1 : 1, @OneToOneN : M, @ManyToMany@JoinColumn 의 역할을 파악한다.가장 많이 사용하는 연관관계이다.외래 키가 있는 쪽이 연관관

2023년 4월 26일
·
0개의 댓글
·
post-thumbnail

JPA 양방향 연관관계의 주인

객체와 테이블이 관계를 맺는 차이에 대해 이해한다.연관관계 주인의 필요성양방향 연관관계의 규칙을 파악한다.주인을 설정하는 기준을 파악한다.mappedBy아래와같은 엔티티와 테이블 구조가 있다.객체의 경우, Member에서 Team을 참조하기 위한 필드Team team와

2023년 4월 25일
·
0개의 댓글
·