spring 5

[Spring] AOP란?

AOP(Aspect Oriented Programming)란? AOP는 Aspect Oriented Programming의 약자로 관점 지향 프로그래밍이라고 부른다. 핵심적인 기능에 부여되는 부가 기능을 효과적으로 모듈화하는 방법을 찾다가, 어드바이스와 포인트컷을 결합한 어드바이스가 발전하여 AOP가 만들어지게 되었다. 이렇게 애플리케이션의 핵심적인 기능에서 부가적인 기능을 분리하여 독특한 모듈화로 만들고 설계하는 방법을 AOP(Aspect Oriented Programming, 관점 지향 프로그래밍)라고 부른다. 가로 영역의 공통된 부분을 잘라냈다고 하여, 크로스 컷팅(Cross-Cutting)이라고 부르기도 한다. AOP를 이해하기 위해서 우선 핵심적인 어드바이스와 포인트컷을 이해해야한다. 어드바이스..

BackEnd/Spring 2022.07.28

[Spring] POJO란?

POJO(Plain Java Old Object)란? POJO란, 단순한 자바 오브젝트를 말한다. 다른 클래스나 인터페이스를 상속 받아 메서드가 추가된 클래스가 아닌 일반적으로 우리가 알고있는 getter, setter 같이 기본적인 기능만 가진 자바 객체를 말한다. 객체 지향적인 원리에 충실하면서 환경과 기술에 종속되지 않고 필요에 따라 재활용될 수 있는 방식으로 설계된 오브젝트를 말한다. 그러한 POJO에 애플리케이션의 핵심로직과 기능을 담아 설계하고 개발하는 방법을 POJO 프로그래밍이라고 할 수 있다. POJO의 조건 1. 특정 규약에 종속되지 않는다. 2. 특정 환경에 종속되지 않는다. 3. 단일 책임 원칙을 지키는 클래스 POJO의 장점 특정 규약에 종속되지 않아 객체지향 설계를 할 수 있게 ..

BackEnd/Spring 2022.06.19

[Spring] 스프링 어노테이션

어노테이션(annotation)이란? 어노테이션은 클래스와 메서드에 추가하여 다양한 기능을 부여하는 역할을 한다. Annotation을 활용하여 Spring Framework는 해당 클래스가 어떤 역할인지 정하기도 하고, Bean을 주입하기도 하며, 자동으로 getter나 setter를 생성하기도 합니다. 어노테이션을 통해 코드량이 감소하고 유지보수하기 쉬우며, 생산성이 증가됩니다. 대표적인 어노테이션(annotation) @Component 개발자가 생성한 Class를 Spring의 Bean으로 등록할 때 사용하는 Annotation입니다. Spring은 해당 Annotation을 보고 Spring의 Bean으로 등록합니다. @Bean @Bean Annotation은 개발자가 제어가 불가능한 외부 라이..

카테고리 없음 2022.06.11

[Spring] IoC와 DI란?

IOC(Inversion of Control)란? IOC란 "제어의 역전" 이라는 의미로, 메소드나 객체의 호출작업을 개발자가 결정하는 것이 아니라, 외부(IOC 컨테이너)에서 결정되는 것을 의미한다. 즉, 객체의 의존성을 역전시켜 객체 간의 결합도를 줄이고 유연한 코드를 작성할 수 있게 하여 가독성 및 코드 유지보수를 편리하게 할 수 있게 한다. 스프링 컨테이너에서는 오브젝트(빈)의 생성과 의존 관계 설정, 사용, 제거 등의 작업을 애플리케이션 코드 대신 스프링 컨테이너가 담당한다. 스프링 컨테이너가 코드 대신 오브젝트에 대한 제어권을 갖고 있다고 해서 IoC라고 부른다. 스프링 컨테이너 = IOC 컨테이너 Repository 객체가 있을때 과거에는 아래와 같이 개발자가 직접 제어했다. 하지만 현재 제..

BackEnd/Spring 2022.06.09

[Spring] 스프링(Spring)이란?

스프링(Spring)? 스프링이란 자바 기반의 웹 어플리케이션을 만들 수 있는 프레임워크입니다. 스프링의 특징 - Spring은 자바 객체와 라이브러리들을 관리해주며, 톰캣과 같은 WAS가 내장되어 있어 자바 웹 어플리케이션을 구동할 수 있습니다. - Spring은 경량 컨테이너로 자바 객체를 직접 관리해주며, 객체의 생성 및 소멸과 같은 생명 주기(Life cycle)을 관리해줍니다. - Spring의 가장 큰 특징으로 IOC와 DI가 있습니다. 스프링 부트(SpringBoot)? 스프링부트는 스프링을 더 쉽게 이용하기 위한 도구라고 볼 수 있습니다. 스프링 MVC를 사용하기 위해서는 필요한 프레임워크들과 라이브러리를 정확하게 설정해야 합니다. 또한, 기본적인 처리를 구축하기 위해 MVC의 각 코드를 ..

BackEnd/Spring 2022.06.09