728x90
반응형
728x90
반응형
# Spring-Data-Rest spring-data-rest는 domain model과 repository를 분석해서, RESTful API를 제공해준다. https://docs.spring.io/spring-data/rest/docs/current/reference/html/#getting-started.basic-settings Spring Data REST Reference Guide Spring Data REST presents a default view of the domain model you export. However, sometimes, you may need to alter the view of that model for various reasons. This section cove..
Spring Cloud Gateway SCG는 Spring Reactive 생태계 위에 구현된 API Gateway이다. 일종의 Reverse Proxy 라고도 할 수 있다. Proxy Server Client Server 사이에 중계기로써 대리로 통신을 수행하는 역할을 하는 Server Client와 Server가 직접 통신하지 않고, Proxy Server를 이용하기에 보안, 트래픽 분산 등 장점이 있다. Forward Proxy 일반적으로 알고있는 Proxy Server이다. Client가 Server로 직접 요청하지 않고, Proxy Server를 이용하기에 Server측에서는 Client를 알 수 없다. 회사 내부 인트라넷이 대표적인 예시이다. 주요 역할은 캐싱, IP 우회, 제한된 사이트 접근..
Spring Framework DI https://hoooon-s.tistory.com/197?category=1069858 [Spring] Inversion of Control & Dependency Injection Spring Framework 스프링 프레임워크는 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크이다. 자바로 서비스를 개발할 때 비즈니스 로직뿐 아니라 트랜잭션 등의 로직까지 작성해야 하는 부 hoooon-s.tistory.com AOP https://hoooon-s.tistory.com/198?category=1069858 [Spring] AOP - Aspect Oriented Programming AOP (Aspect Oriented Programming) 관점 지향 프로그래밍..
PSA (Portable Service Abstraction) 환경의 변화에 관계없이 일관된 방식의 기술 접근 환경을 제공하려는 추상화 구조 즉, 일부 코드 변경만으로도 완전히 다른 기술로 동작이 가능한(Portable) 서비스 추상화(Service Abstraction) 구조이다. Tomcat & Netty 간단한 gradle 의존성 변경으로 tomcat 또는 netty 사용이 가능하다. // tomcat dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' } // netty dependencies { implementation 'org.springframework.boot:spring-boot-starter-..
AOP (Aspect Oriented Programming) 관점 지향 프로그래밍 흩어진 Aspect를 모듈화할 수 있는 프로그래밍 기법이다. 동일한 색상의 선을 중복되는 메서드 & 필드 & 코드라고 가정할 때, 여러 클래스에 반복되서 사용 되기 때문에 흩어진 관심사(Crosscutting Concerns)이라 부른다. 그리고 흩어진 관심사를 Aspect로 모듈화하고 핵심적인 비즈니스 로직에서 분리하여 재사용하는 것이 AOP다. Interceptor, Filter도 일종의 AOP이다. 또한, 중복되는 주황색 부분의 수정이 생기면 A, B, C 클래스 모두 수정을 해야 한다. 이는 SOLID 원칙 중 SRP(Single Responsibility Programming)에 위반된다. Spring AOP 스프..
Spring Framework 스프링 프레임워크는 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크이다. 자바로 서비스를 개발할 때 비즈니스 로직뿐 아니라 트랜잭션 등의 로직까지 작성해야 하는 부담감을 없애고자 EJB(Enterprise JavaBeans)를 사용하였다. EJB를 사용하면서 트랜잭션 등의 로우 레벨 로직 개발 부담은 줄었지만 이런 기능을 사용하기 위해 거대한 EJB를 extends 하거나 implement 하게 되어 간단한 서비스가 무겁게 변하게 되었다. 자바의 기본적인 객체지향에 집중하고, 특정 클래스나 라이브러리에 종속되지 않는 POJO로 코드를 작성하여 이 문제를 해결하고자 하였고 스프링 프레임워크가 탄생했다. 그래서 대부분의 사람들이 스프링을 설명할 때 경량화된, 가벼운 프레임..