스프링부트 2

[Spring] 어노테이션의 정의와 동작원리

📌 들어가며 SpringBoot를 이용해 개발을 하다보면 정말 많이 사용하게 되는 것 중 하나가 어노테이션입니다. 종류도 매우 다양하며(@RestController, @Component.. 등) Personal 어노테이션을 만들 수도 있습니다. 오늘은 이러한 Spring에서 어노테이션의 정의와 동작원리에 대해서 알아보도록 하겠습니다. 📌 Annotation 의 정의 어노테이션에 대한 정의를 자바 공식 문서에서 찾아보면 https://docs.oracle.com/javase/tutorial/java/annotations/ Lesson: Annotations (The Java™ Tutorials > Learning the Java Language) The Java Tutorials have been writ..

BackEnd/SpringBoot 2023.09.18

백엔드 아키텍처 개요(2) - DIP

지난 글에서 가장 기본적인 계층 구조의 아키텍처 구성에 대해 알아보았습니다. 이번 글에서는 그러한 계층 구조 아키텍처를 사용했을 때의 문제점과 이를 해결하기 위한 DIP(Dependency Inversion Principle) 의존성 역전 원칙을 알아보도록 하겠습니다. 예를 들어 어떠한 도메인의 가격 계산 규칙 기능이 있습니다. 할인 금액 계산 로직이 복잡해지게 되면 객체 지향으로 로직을 구현하는 것보다 룰 엔진을 사용하는 것이 더 알맞을 때가 있습니다. 다음의 예시 코드는 Drools라는 룰 엔진을 사용해서 로직을 수행하는 인프라스트럭처 영역의 코드입니다. public class DroolsRulerEngine { private KieContainer kContainer; public DroolsRul..

Architecture 2023.01.22