Framework 6

[TIL] 같은 타입의 Bean이 2개라면 발생하는 문제 해결 (feat. @Primary, @Qualifier)

오늘은, Spring 환경에서 같은 타입으로 등록된 Bean이 2개 이상일 때 발생할 수 있는 문제를 알아보고 어떻게 해결할 수 있을지까지 학습해보도록 하겠다 😀 환경food 라는 패키지 아래에 클래스 세 개가 있다. Food라는 인터페이스에, 이 인터페이스를 구현하는 클래스 Chicken과 Pizza가 있는 구조이다. 1. Food 인터페이스package com.study.springauth.food;public interface Food { void eat();} 2. Food를 구현하는 Chicken과 Pizza 클래스여기선 @Component 애너테이션을 사용해서 Bean으로 등록하고 있다.package com.study.springauth.food;import org.springframe..

Framework/Spring 2024.08.06

[Test] JUnit의 개념과 장점, 문법들 (w/ 테스트 코드 이렇게 쓰지 말자)

JUnit 이란?- 자바 프로그래밍 언어용 Unit Test Framework  - 테스트를 위한 API로 JUnit Jupiter API를 제공한다.우리가 테스트코드를 작성할 때 가장 많이 사용하고, 가장 유용하게 사용하는 메서드나 어노테이션들이 담겨있는 API라고 생각하면 된다. - 최신 버전은 JUnit5이고, JDK-1.8 이상부터 사용 가능하다.  - 컴포넌트는 JUnit Platform과 JUnit Jupiter, JUnit Vintage로 구성되어 있다. JUnit 3, 4와 호환이 될 수 있게 도와주는 기능과, 상단에서 말했던 테스트코드를 작성할 때 필요한 메서드나 어노테이션들을 제공하는 기능 등을 한다. 장점- 테스트 결과는 Test 클래스로 동료 개발자에게 테스트 방법 및 클래스의 Hi..

Framework 2024.05.04

[TIL][Test] TDD 파헤쳐보기 (개념, 장/단점, 흐름)

테스트 코드를 본격적으로 쓰기 전에 테스트의 종류와 필요성에 대해 정리했던 시간을 가졌었다. 2024.03.22 - [Framework/Spring] - [TIL][Spring] 단위 테스트/통합 테스트/인수 테스트, 테스트 코드의 필요성 [TIL][Spring] 단위 테스트/통합 테스트/인수 테스트, 테스트 코드의 필요성 테스트 코드를 프로젝트에 적용하기에 앞서, 테스트에 대해 공부하고 회고해보는 시간을 가지고 포스팅한다. 사실 여태 테스트 코드를 작성하지 않고 Postman 으로만 API 기능 테스트를 진행해왔 developer-jinnie.tistory.com 오늘 포스팅에선 TDD (테스트 주도 개발)가 뭔지 그 개념을 자세히 공부해보도록 하자!! 📌 TDD란? (Test-Driven-Develo..

Framework/Spring 2024.04.01

[TIL][Test] 단위 테스트/통합 테스트/인수 테스트, 테스트 코드의 필요성

테스트 코드를 프로젝트에 적용하기에 앞서, 테스트에 대해 공부하고 회고해보는 시간을 가지고 포스팅한다. 사실 여태 테스트 코드를 작성하지 않고 Postman 으로만 API 기능 테스트를 진행해왔다.하지만 수동으로 API 요청을 생성한 후 테스트를 실행해야 해서 자동화가 불가능했고, 모든 시나리오와 경로를 수동으로 테스트 해야했기 때문에 그 과정에서 내가 예상하지 못한 버그 확률이 높아졌다. 테스트 해야 할 시나리오를 빼먹기도 했고 🥲 그래서 테스트 코드의 필요성을 느끼고, 비즈니스 로직의 핵심인 서비스 레이어 코드부터 단위 테스트를 진행해보려 한다. 아래 '단위 테스트 단점' 에서 언급할 객체 간 의존성 문제를 해결하기 위해 객체를 mocking 해서 진행할 예정이다! 🔎 테스트 코드란? ..

Framework/Spring 2024.03.22

[Spring] AOP 란? 관점 지향 프로그래밍 AOP 정의

진행하고 있는 개인 프로젝트에 AOP를 사용한 기능을 추가해 보고 싶어서, AOP 관련 공부를 하려고 한다.포스팅의 순서는 크게 1. AOP 사용 이유 2. AOP 정의3. AOP 관련 용어 4. Advice의 종류 로 진행된다.AOP를 쓰는 이유 우리가 개발을 하다가, 모든 메서드에 메서드의 수행 시간을 알아내는 로그를 찍어야 한다고 생각해보자.메서드가 얼마 없다면 괜찮겠지만, 메서드가 100개, 1000개 된다면 ? 일일히 로그를 찍는 코드를 100번 1000번 서비스단에 넣게 될 것이다.  (다들 .. 반복 작업 ... 싫어하시죠 ..? 🥲)그리고 넣는다고 하더라도, 핵심 기능과 로그 기능이 섞이기 때문에, 관심사 분리와 중복 코드 지양이라는 부분에서 봤을 때도 좋은 코드는 ..

Framework/Spring 2024.02.21

프레임워크와 라이브러리의 차이

전에 KDT로 부트캠프에서 강의 들을 때도, Spring framework를 사용해서 팀 플젝 할 때 중간중간 문득! 그래서 프레임워크는 뭔데 ? 라이브러리랑 뭐가 다른건데? 라는 의문이 들었었다. 그럴 때 마다 구글링 해서 찾아보고, 아 ~~~ 이거구나! 하고 넘어가니까 뒤돌아서면 까먹는거다. 아예 기록해둬서 안까먹도록 박제 하려고 포스팅한다. ※ 백엔드 취준생이 작성한 글로, 틀린 개념이 있다면 댓글로 지적해주시면 감사하겠습니다. 프레임워크란? 개발자가 코드를 구현하는 개발 시간을 줄이고, 코드의 재사용성을 증가 시키기 위해, 일련의 클래스 묶음이나 뼈대, 틀을 라이브러리 형태로 제공하는 것을 말함 제어의 역전 개념이 적용된 대표적인 기술 프레임워크의 특징 개발자가 따라야 하는 가이드를 제공 개발할 ..

Framework/Spring 2024.01.16