BackEnd/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] DAO, DTO, VO란?

DAO(Data Access Object)? DAO는 DB data에 접근하기 위한 객체로 직접 DB에 접근하여 데이터를 삽입, 삭제, 조회 등 조작할 수 있는 기능 수행. DB에 접근하기 위한 로직 & 비지니스 로직을 분리하기 위해 사용합니다. DTO(Data Transfer Object)? DTO는 계층 간(Controller, View, Business Layer) 데이터 교환을 하기 위해 사용하는 객체입니다. DTO는 로직을 가지지 않는 순수한 데이터 객체(getter & setter만 가진 클래스)입니다. DTO는 데이터 전송(이동) 객체라는 의미를 가지고 있고, 주로 비동기 처리를 할 때 사용합니다. DB의 데이터를 Service나 Controller 등으로 보낼 때 사용하는 객체를 말합니다...

BackEnd/Spring 2022.06.10

[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