모음/[스프링 퀵스타트] 8

[스프링 퀵스타트] Day2 - chapter3. 어드바이스 동작 시점

Chapter 3. 어드바이스 동작 시점 정리AOP(Aspect-Oriented Programming)에서 **어드바이스(Advice)**는 비즈니스 메서드 실행 시 특정 시점에서 실행되는 공통 기능입니다. 이번 포스팅에서는 어드바이스의 주요 동작 시점과 각 시점의 역할을 알아보겠습니다.1. 어드바이스 동작 시점Before비즈니스 메서드가 실행되기 전에 동작합니다.예: 실행 전 사전 로깅 또는 인증.After비즈니스 메서드가 실행된 후 무조건 실행됩니다.세부 종류:After Returning: 메서드가 정상적으로 종료된 후에 동작합니다.After Throwing: 메서드 실행 중 예외가 발생할 경우 동작합니다 (예: try-catch에서 catch와 유사한 역할).After: 메서드 실행이 완료된 후, ..

[스프링 퀵스타트] Day2 - chapter2. 스프링 AOP 용어 및 기본 정리 (v2024)

Chapter 2. AOP 용어 및 기본 정리AOP(Aspect-Oriented Programming, 관점 지향 프로그래밍)는 공통적인 기능을 핵심 로직에서 분리해 유지보수를 쉽고 코드의 가독성을 높이는 방법입니다. 이번 포스팅에서는 AOP의 기본 용어와 이를 이해하는 데 필요한 핵심 개념을 정리하겠습니다.1. AOP의 핵심 용어 정리조인포인트(JoinPoint)클라이언트가 호출하는 모든 비즈니스 메서드가 조인포인트가 될 수 있습니다.AOP를 적용할 수 있는 지점으로, 메서드 호출뿐 아니라 예외 처리와 같은 다양한 지점이 포함됩니다.포인트컷(Pointcut)특정 조건에 맞는 조인포인트를 필터링한 결과입니다.AOP가 적용될 메서드나 클래스를 지정할 수 있습니다.포인트컷 표현식을 사용해 메서드의 실행 시점..

[스프링 퀵스타트] Day2 - chapter1. 스프링 AOP (v2024)

스프링 프레임워크는 AOP(Aspect-Oriented Programming, 관점 지향 프로그래밍)를 통해 공통적인 관심사(Cross-Cutting Concerns)를 분리하여 코드의 응집도를 높이고, 결합도를 낮춥니다. 이번 포스팅에서는 스프링 AOP의 개념과 XML을 활용한 설정 방법에 대해 정리하겠습니다.1. AOP의 개념과 필요성낮은 결합도 = IoC (Inversion of Control)객체 간의 의존성을 스프링 컨테이너가 관리함으로써 결합도를 낮추고 유연한 구조를 제공합니다.높은 응집도 = AOP공통적으로 반복되는 로직(예: 로깅, 예외 처리, 트랜잭션 관리 등)을 핵심 로직과 분리하여 코드의 응집도를 높입니다.관심사 분리 (Separation of Concerns)핵심 비즈니스 로직과 부..

[스프링 퀵스타트] Day1 - chapter5. 어노테이션 기반 설정 (v2024)

1. 컴포넌트 스캔과 애노테이션 설정스프링은 @Component와 이를 확장한 여러 애노테이션을 통해 빈을 스캔하고 등록합니다. 이를 위해 을 설정하거나 @ComponentScan 애노테이션을 활용합니다.@Component스프링 컨테이너가 자동으로 관리해야 하는 클래스를 정의할 때 사용합니다.@Service서비스 레이어를 나타내는 애노테이션으로, 비즈니스 로직이 구현된 클래스에 사용됩니다.@Repository데이터 엑세스 레이어를 나타내며, DAO 클래스에 사용합니다.@Controller프레젠테이션 레이어를 나타내며, 웹 요청을 처리하는 클래스에 사용합니다.이러한 애노테이션을 통해 클래스의 역할을 명확히 하여 컨테이너가 자동으로 빈을 관리하도록 합니다.2. 의존성 주입 (Dependency Injecti..

[스프링 퀵스타트] Day1 - chapter4. 의존성 주입 (v2024)

Inversion of Control (IoC) in Spring FrameworkInversion of Control (IoC) is a fundamental principle in the Spring Framework. It states that the container automatically manages the creation and dependencies of objects. This allows for more modular, testable, and maintainable code. Let's break down the key concepts illustrated in the image for a detailed blog post.핵심 개념: 제어의 역전 (Inversion of Contr..

[스프링 퀵스타트] Day1 - chapter3. 스프링 컨테이너 및 설정 (v2024)

스프링 컨테이너는 애플리케이션의 객체들을 관리하고 의존성을 주입해주는 핵심 역할을 합니다. 스프링 컨테이너의 종류와 XML 설정 방식을 중심으로 설명해보겠습니다.1. 스프링 컨테이너 구동 방식스프링 컨테이너는 스프링 애플리케이션에서 객체를 생성, 관리하며, 다양한 구동 방식을 제공합니다.BeanFactory: 스프링의 가장 기본적인 컨테이너로, 빈의 생성을 지연(lazy-loading)하여 애플리케이션의 시작 시간을 줄일 수 있습니다.ApplicationContext: BeanFactory의 확장판으로 더 많은 기능을 제공합니다. 예를 들면, 이벤트 전달, 메시지 리소스 처리 등이 있습니다. ApplicationContext는 두 가지 주요 구현체를 가집니다.GenericXmlApplicationCont..

[스프링 퀵스타트] Day1 - chapter2. 프레임워크 개요 (v2024)

프레임워크의 장점과 빠른 구현 시간 🚀1. 빠른 구현 시간 ⏱️프레임워크는 비즈니스 로직과 구분하여 코드를 작성함으로써 빠르게 개발할 수 있는 환경을 제공함다. 이는 개발자들이 복잡한 코드 작성에 시간을 소비하지 않고, 프레임워크가 제공하는 도구를 활용하여 기본적인 구조를 잡을 수 있기 때문임다. 결과적으로, 개발 시간의 단축과 효율성의 향상을 기대할 수 있음다.2. 장점 🌟프레임워크가 제공하는 도구들은 여러 가지 이점을 제공함다.쉬운 관리 🛠️: 코드 프레임워크의 정형화된 패턴과 구조 덕분에 관리와 유지보수가 용이함다. 특히 아키텍처가 명확하게 나누어져 있어 기능 추가나 변경 시에도 코드의 복잡도가 낮아짐다.개발자들의 역할 확립 👩‍💻👨‍💻: 개발자들은 자신이 맡은 부분에만 집중할 수 있으..

[스프링 퀵스타트] Day1 - chapter2. 프레임워크 개요 (v2023)

2.1.3 자바 기반의 프레임워크 처리 영역프레임워크 PresentationStrutsStruts 프레임워크는 UI Layer에 중점을 두고 개발된 MVC(Model View Controller) 프레임워크이다.Spring(MVC)Struts와 동일하게 MVC 아키텍처를 제공하는 UI Layer 프레임워크이 다. 하지만 Struts처럼 독립된 프레임워크는 아니고 Spring 프레임워크 에 포함되어 있다. BusinessSpring(IoC, AOP)Spring은 컨테이너 성격을 가지는 프레임워크이다. Spring의 IoC와 AOP 모듈을 이용하여 Spring 컨테이너에서 동작하는 엔터프라이즈 비 즈니스 컴포넌트를 개발할 수 있다.PersistenceHibernateorJPAHibernate는 완벽한 ORM..

반응형