본문 바로가기

SPRING FRAMEWORK

(6)
[Finally Spring] 4. AOP 개념과 코드구현 요약 AOP는 OOP의 클래스 단위로 객체를 나누어 불필요한 중복이 발생하는 단점을 극복하기 위해 핵심기능과 부가기능을 기준으로 모듈화한다. 핵심기능(Core Concerns)은 비즈니스 로직과 관련된 모듈이며, 부가기능(횡단관심사, Cross-cutting Concerns)은 핵심 기능에 공통적으로 필요한 모듈이다. 부가기능은 반드시 핵심기능과 함께 사용되며, 핵심 기능과 합쳐져 하나의 객체처럼 사용한다. 부가기능을 분리해 객체를 가볍고 간결하게 만들며, 불필요한 반복을 방지한다. AOP(Aspect-Oriented Programming) 관점지향 프로그래밍. 애플리케이션을 구성하는 모듈을 나누는 기준을 기능이 아닌 ‘관심사 관점’으로 전환하여 나누는 기법. 개별 객체의 공통된 관심사를 횡단 관심사(c..
[Finally Spring] 3. Bean 등록 관련 애너테이션(JAVA기반 컨테이너 설정, 컴포넌트스캔) 요약 Bean 등록 관련 애너테이션 1) @Configuration class-level 빈 설정(BeanDefinitions)을 담당하는 클래스에 사용하는 애너테이션. 스프링 설정 정보에서 사용된다. Configuration이 선언된 클래스가 입력으로 제공되면 Congifuration 클래스 자체가 BeanDefinition으로 등록되고 클래스 내에서 선언된 모든 @Bean도 BeanDefinition로 등록된다. 이 클래스 안에서 @Bean 어노테이션이 동봉된 메소드를 선언하면, 그 메소드를 통해 스프링 빈을 정의하고 생명주기를 설정하게 된다. 2) @ComponentScan class-level @Configuration 애너테이션과 함께 쓰면, 이 클래스는 자바 빈 설정 클래스이며, 이 @Comp..
[Finally Spring] 2. DI 주입방법(생성자, 수정자, 필드, 일반 메서드) 요약 1) 4가지 DI 방법 생성자 주입 (Constructor) 수정자 주입 (Setter) 필드 주입 (Field) 일반 메서드 주입 (Method) 2) 가장 추천하는 DI 방법 (2가지) 생성자 주입(불변과 필수 의존 관계) 생성자 호출 시점에 딱 1번만 호출되는 것이 보장됩니다. '불변과 필수' 의존 관계에 사용됩니다. 생성자가 1개만 존재하는 경우 @Autowired를 생략해도 자동 주입 합니다. NullPointerException 방지 가능합니다. 주입받을 필드를 final로 선언 가능합니다. 수정자 주입(선택과 변경 의존관계) '선택과 변경' 가능성이 있는 의존관계에 사용됩니다. 자바빈 프로퍼티 규약(JAVA Bean Property Protocol)의 수정자 메서드를 사용하는 방법입니다..
[Spring Boot] 백기선의 우아한 스프링 부트 활용 세미나 요약 영상 https://www.youtube.com/watch?v=z0EaPjF3pCQ&t=2637 참고자료 https://drive.google.com/file/d/10G1qCgdFrVXpxLUTgrSwp5ZMboXlfwmH/view 우아한 스프링 부트.pdf drive.google.com [백기선의 우아한 Tech] 우아한 Spring Boot 정리 스프링 부트(Spring Boot)가 다루는 영역 빌드(Build) 프로젝트 생성(Project Creation) 의존성 관리(Dependency Management) - 라이브러리 버전관리 애플리케이션 패키징 및 실행(Application Packaging and Running) 코딩(Coding) 개발 툴 제공(dev tools) 자동 ..
[Finally Spring] 1. 의존성 주입(DI, Dependency Injection): 스프링 컨테이너, 빈 요약 1) 의존성 주입(Dependency Injection)이란? 스프링 컨테이너(Spring Container)로부터 객체의 주소값을 전달받아 객체 간의 참조관계를 형성함으로써 '느슨한 결합(Loose Coupling)' 관계를 구축하는 것 2) 스프링 컨테이너(Spring Container)란? ● 스프링 프레임워크가 객체(빈, Bean)를 관리하기 위해 사용하는 컴포넌트 ● 컨테이너(Container)란 내부에 또 다른 컴포넌트(Component)를 가지고 있는 어떤 컴포넌트를 의미. ● 컨테이너(Conatainer)는 객체를 생성하고 서로 연결해주며, 객체를 설정하고 생명주기를 관리. ● 객체의 의존성을 확인해 생성한 뒤 적절한 객체에 의존성을 주입 ● 실제 코드에서 스프링 컨테이너는 Appli..
자바 스프링 프레임워크(Spring Framework)란 무엇인가? POJO, DI, AOP, PSA The Spring Framework is a lightweight solution and a potential one-stop-shop for building your enterprise-ready applications. 요약 스프링 프레임워크(Spring Framework)이란? 스프링 프레임워크(Spring Framework, 이하 스프링)는 기업용 응용프로그램 개발을 위한 자바 기반 솔루션, 또는 '자바 기반 기업용 응용 프로그램 개발을 위한 규격화된 체계' 스프링 프레임워크 사용이유? 1. 복잡한 기업용 시스템 구축 가능 2. 쉽고 빠른 개발을 지원해 생산 효율 높임 3. 개발자가 도메인 관련 비즈니스 로직에만 집중할 수 있도록 지원 4. 높은 보안성, 안정성, 확장성 쉽게 확보 가능 5. 스..