본문 바로가기

SPRING/개념8

[ 개념 ] 스프링(spring) AOP란 어노테이션 어드바이스 AOP란 AOP는 Aspect Oriented Programming의 약자로 관점 지향 프로그래밍이라고 부릅니다. 관점 지향은 로깅, 보안 또는 트랜잭션 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고 그 관점을 기준으로 모듈화 하겠다는 것입니다. 여기서 모듈화는 어떤 공통된 로직이나 기능을 하나의 단위로 묶는 것을 말하며 예시는 다음과 같습니다. 핵심적인 관점은 비즈니스 로직이 될 수 있고, 부가적인 관점은 핵심 로직을 실행하기 위해 행해지는 데이터베이스 연결, 로깅, 파일 입출력 등이 될 수 있습니다. AOP를 사용하면 코드를 전체 코드베이스에 분산시킬 필요 없이 명확하고 간결한 방식으로 특정 정책을 시행하는 코드를 작성할 수 있습니다. 코드 중복을 줄이고 코드 유지 관리성을 높일 수.. 2023. 2. 10.
[ 개념 ] 스프링 IOC 컨테이너란? DI 사용이유 작동방식 스프링의 IOC(제어의 역전), DI(의존성주입)에 대해서 알아봅니다. IOC는 프로그램의 흐름을 개발자가 직접 관리하는 게 아니라 외부에서 관리하는 것을 말합니다. DI는 객체를 직접 생성하는 게 아니라 외부에서 생성 후 주입시켜 주는 것을 말합니다. IOC컨테이너는 IOC를 생성하고 의존성을 관리합니다. IOC 컨테이너 Spring IoC 컨테이너는 IoC(Inversion of Control) 및 DI(Dependency Injection) 기능을 제공하는 Spring 프레임워크의 구성 요소입니다. 객체를 인스턴스화, 구성 및 조립하고 종속성을 관리하는 역할을 합니다. Spring IoC 컨테이너는 구성 메타데이터를 사용하여 생성하는 객체의 수명 주기를 관리하고 해당 종속성을 관리합니다. 이 구성 .. 2023. 2. 10.
[ 개념 ] 스프링(spring)이란 무엇인가 사용이유 스프링 개념, 등장배경, 장점, 단점에 대해서 알아보겠습니다. 이러한 사항을 미리 숙지하고 스프링 시작한다면 스프링에 대한 높은 이해도와 흥미가 생길 것입니다. 스프링이란 스프링(Spring)은 Java 애플리케이션 개발을 위한 오픈 소스 프레임워크입니다. 애플리케이션 구축을 위한 포괄적인 인프라를 제공하고 설계에서 배포에 이르는 전체 개발 수명 주기 동안 개발자를 지원합니다. 애플리케이션 구축을 위한 일관된 프로그래밍 모델을 제공하고 모듈성을 촉진하여 개발자가 느슨하게 결합된 애플리케이션을 구축할 수 있도록 합니다. 또한 데이터 액세스, 보안, 트랜잭션 관리 등의 기능을 제공합니다. 등장배경 왜 등장했을까? Spring은 2003년 Rod Johnson이 처음 개발했으며 Apache 2.0 라이선스로 .. 2023. 2. 9.
[ 개념 ] 스프링(spring)이란? 사용이유 IOC DI AOP 1. 스프링(Spring)이란 Java EE(Java Enterprise Edition) 개발을 편리하게 해주는 오픈소스 경량급 애플리케이션 프레임워크입니다. 1.1 JAVA Enterprise Edition JAVA Enterprise Edition는 자바를 이용한 서버 측 개발을 위한 플랫폼입니다. (Enterprise Edition은 웹 애플리케이션 서버에서 동작하는 장애 복구 및 분산 멀티미디어를 제공하는 자바 소프트웨어의 기능을 추가한 서버를 위한 플랫폼입니다.) 1.2 경량급 스프링이 가볍다고 하는 이유는 스프링은 불필요하게 무겁지 않다는 의미입니다. 코드에 불필요하게 등장하던, 프레임워크와 서버 환경에 의존적인 부분을 제거해주기 때문에 가볍다고 합니다. 즉, 빠르고 간편하게 작성하게 해 줌으.. 2021. 5. 30.