본문 바로가기

JAVA7

Spring AOP란? 관점 지향 프로그래밍? Spring AOP는 공통 로직을 분리해 코드 품질을 높이는 핵심 기술입니다. AOP의 개념, 필요한 이유, Spring에서의 사용법을 실전 예제와 함께 정리합니다. AOP란 무엇인가?AOP(Aspect-Oriented Programming, 관점 지향 프로그래밍)는 공통적인 기능을 핵심 로직에서 분리하여 코드 중복을 제거하고 가독성을 높이는 프로그래밍 방식입니다.예를 들어, 서비스 로직마다 로그를 남기거나 예외를 처리하는 기능은 비즈니스와 직접적인 관련이 없는 '공통 관심사'입니다.AOP를 사용하면 이런 공통 기능을 별도의 모듈로 분리하여 적용할 수 있습니다. 왜 AOP를 사용해야 할까?다음은 AOP를 사용하지 않았을 때의 예시입니다:public void processOrder() { long s.. 2025. 6. 24.
Spring 어노테이션 @Component, @Service, @Repository 차이점 @Component, @Service, @RepositorySpring에서는 클래스에 특정 어노테이션을 붙이면 자동으로 Bean으로 등록되어 DI 대상이 됩니다.그 대표적인 어노테이션이 @Component, @Service, @Repository입니다.✅이 어노테이션들은 클래스의 역할을 명확히 구분하고, Spring이 적절하게 처리할 수 있도록 도와줍니다. 공통점 - 모두 Bean으로 등록됨이 세 어노테이션은 모두 @Component의 확장 버전입니다.결국 모두 Component로 인식되고 자동 주입 대상이 됩니다.어노테이션역할Component 관계@Component일반 컴포넌트기본 어노테이션@Service비즈니스 로직@Component의 확장@RepositoryDB 접근 계층@Component의 확장 .. 2025. 6. 23.
Spring Bean이란? 생성과 생명주기 정리 왜 Spring Bean을 알아야 할까?Spring의 핵심은 객체를 대신 관리해준다는 점입니다.개발자는 객체 생성, 의존성 관리, 초기화 등을 신경 쓰지 않고,핵심 비즈니스 로직에 집중할 수 있습니다. 이 모든 객체 관리를 담당하는 것이 바로 Spring Bean입니다.즉, Bean을 이해해야 Spring을 제대로 활용할 수 있습니다. Spring Bean이란?Spring Bean이란 Spring IoC 컨테이너가 관리하는 자바 객체를 말합니다.개발자가 직접 생성하지 않고, Spring이 객체를 만들고 생명주기를 관리합니다.Bean은 주로 서비스 클래스, DAO, 리포지토리, 설정 클래스 등으로 사용됩니다.@Component, @Service, @Repository, @Controller 등의 어노테이션.. 2025. 6. 22.
의존성 주입이란? DI(Dependency Injection)에 대하여 DI란 무엇인가?DI(Dependency Injection, 의존성 주입)는 객체 간의 의존 관계를 Spring 프레임워크가 대신 관리해주는 기능입니다.개발자가 직접 객체를 생성하고 주입하는 방식이 아니라,Spring이 필요한 객체를 자동으로 주입해줌으로써 코드의 결합도를 낮추고 유지보수를 쉽게 만들어줍니다. DI가 필요한 이유예를 들어, 어떤 클래스 A가 클래스 B를 사용한다고 해보겠습니다.public class A { private B b = new B(); // 직접 생성}이 방식은 A가 B에 강하게 의존하고 있어서, B의 구현이 바뀌면 A도 함께 수정해야 합니다.테스트 시에도 B를 대체하기 어려워 유연성이 떨어집니다. Spring의 DI 방식으로 설계하면public class A { p.. 2025. 6. 22.