반응형

프로그래밍 공부/Spring 12

Spring Cloud Netflix Eureka

본 포스팅은 인프런 Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA) 강의를 기반으로 작성된 포스팅입니다. Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA) - 인프런 | 강의 Spring framework의 Spring Cloud 제품군을 이용하여 마이크로서비스 애플리케이션을 개발해 보는 과정입니다. Cloud Native Application으로써의 Spring Cloud를 어떻게 사용하는지, 구성을 어떻게 하는지에 대해 www.inflearn.com 본문에 앞서 아래의 사진은 하나의 마이크로 서비스가 세가지 인스턴스에 의해서 확장되어 개발되는 경우이다. 일종의 로드밸런서 역할을 하는것처럼 부하분산 처리가 되어있다고 가정해보자. 하나의 PC에서 여러개의 서비스를..

Spring Cloud란?

본 포스팅은 인프런 Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA) 강의를 기반으로 작성된 포스팅입니다. Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA) - 인프런 | 강의 Spring framework의 Spring Cloud 제품군을 이용하여 마이크로서비스 애플리케이션을 개발해 보는 과정입니다. Cloud Native Application으로써의 Spring Cloud를 어떻게 사용하는지, 구성을 어떻게 하는지에 대해 www.inflearn.com 2017년까지 새로운 enterprise Java application은 기존의 앱서버에서 배포되지 않을것이다. 즉, 단일 웹서버가 아니라 Cloud 상태로서 분리될 수 있는 마이크로 서비스로 개발될것이다. Spr..

AOP와 Spring AOP

본 포스팅은 우아한 테크코스 10분 테코톡 봄의 AOP와 Spring AOP를 기반으로 작성된 포스팅입니다. https://www.youtube.com/watch?v=hjDSKhyYK14&list=PLgXGHBqgT2TvpJ_p9L_yZKPifgdBOzdVH&index=9 AOP란? 흔히 Spring을 학습하다보면 AOP에 대해 공부하게 될텐데 이는 Spring에만 존재하는 개념이 아닙니다. 예시) 인터페이스 구현체 반복문으로 factorial 연산을 진행 이때 새로운 요구사항이 발생합니다. 위의 요구사항을 위해 System.out.print()를 사용합니다. 위 상태에서 새로운 요구사항이 또 등장합니다. RecursiveCalculator 구현 실행 시간 측정을 위해서 구현체들에 시간 측정 메소드를 ..

Spring Security란?

Spring Security란? '인증'과 '인가'를 제공하는것에 초점을 맞춘 프레임워크 입니다. 이전 포스팅 링크 https://wonuk.tistory.com/154?category=1025481 인증(Authentication)과 인가(Authorization)란 무엇인가? 용어정리 '인증'이란? 식별가능한 정보로 서비스에 등록된 유저의 신원을 입증하는 과정입니다. 예) 출입증으로 건물에 출입 할 수 있습니다. '인가'란? 인증된 사용자에 대한 자원 접근 권한 확 wonuk.tistory.com https://wonuk.tistory.com/155?category=1025481 쿠키(Cookie), 세션(Session), 토큰(Token) 용어 간단정리 인증 : 나는 누구인가 인가 : 나의 권한은 ..

Spring 컴포넌트 스캔, 의존관계 자동주입

이전 블로그 포스팅 https://wonuk.tistory.com/146 Spring 싱글톤 컨테이너 이전 포스팅 https://wonuk.tistory.com/145 Spring IoC, DI, 컨테이너, 스프링 빈(ApplicationContext) 이전 포스팅 참고 https://wonuk.tistory.com/144?category=1008468 Spring의 객체 지향 적용 SRP, DIP, OC.. wonuk.tistory.com 컴포넌트 스캔 지금까지 스프링 빈을 등록할 때는 자바 코드의 @Bean이나 XML의 등을 통해서 설정 정보에 직접 등록할 스프링 빈을 나열했다. 이렇게 등록해야 할 스프링 빈이 수십, 수백개가 되면 일일이 등록하기도 귀찮고, 설정 정보도 커지고, 누락하는 문제도 발생..

Spring 싱글톤 컨테이너

이전 포스팅 https://wonuk.tistory.com/145 Spring IoC, DI, 컨테이너, 스프링 빈(ApplicationContext) 이전 포스팅 참고 https://wonuk.tistory.com/144?category=1008468 Spring의 객체 지향 적용 SRP, DIP, OCP Spring의 객체 지향 원리 주문 서비스와 할인정책이 있다. 만약 할인정책(DiscountPolicy)이 변경되려.. wonuk.tistory.com 개요 - 웹 애플리케이션과 싱글톤 스프링은 태생이 기업용 온라인 서비스 기술을 지원하기 위해 탄생했다. 대부분의 스프링 애플리케이션은 웹 애플리케이션이다. 물론 웹이 아닌 애플리케이션 개발도 얼마든지 개발할 수 있다. 웹 애플리케이션은 보통 여러 고객..

Spring IoC, DI, 컨테이너, 스프링 빈(ApplicationContext)

이전 포스팅 참고 https://wonuk.tistory.com/144?category=1008468 Spring의 객체 지향 적용 SRP, DIP, OCP Spring의 객체 지향 원리 주문 서비스와 할인정책이 있다. 만약 할인정책(DiscountPolicy)이 변경되려면 public class OrderServiceImpl implements OrderService { // private final DiscountPolicy discountPol.. wonuk.tistory.com 제어의 역전 IoC(Inversion of Control) 기존 프로그램은 클라이언트 구현 객체가 스스로 필요한 서버 구현 객체를 생성하고, 연결하고, 실행했다. 한마디로 구현 객체가 프로그램의 제어 흐름을 스스로 조종했다..

Spring 핵심 원리 - 객체 지향 적용 SRP, DIP, OCP

Spring의 객체 지향 원리 주문 서비스와 할인정책이 있다. 만약 할인정책(DiscountPolicy)이 변경되려면 public class OrderServiceImpl implements OrderService { // private final DiscountPolicy discountPolicy = new FixDiscountPolicy(); private final DiscountPolicy discountPolicy = new RateDiscountPolicy(); } 이러한 코드가 만들어진다. 하지만 이것은 문제점이 있다. 문제점 우리는 역할과 구현을 충실하게 분리했다. OK 다형성도 활용하고, 인터페이스와 구현 객체를 분리했다. OK OCP, DIP 같은 객체지향 설계 원칙을 충실히 준수했는..

객체지향(특징, SOLID)과 Spring

스프링 프레임워크 핵심 기술 : 스프링 DI 컨테이너, AOP, 이벤트, 기타 웹 기술 : 스프링 MVC, 스프링 WebFlux 데이터 접근 기술 : 트랜잭션, JDBC, ORM 지원, XML 지원 기술 통합 : 캐시, 이메일, 원격접근, 스케줄링 테스트 : 스프링 기반 테스트 지원 언어 : 코틀린, 그루비 최근에는 스프링 부트를 통해서 스프링 프레임워크의 기술들을 편리하게 사용 스프링 부트 스프링을 편리하게 사용할 수 있도록 지원, 최근에는 기본으로 사용 단독으로 실행할 수 있는 스프링 애플리케이션을 쉽게 생성 Tomcat 같은 웹 서버를 내장해서 별도의 웹 서버를 설치하지 않아도 됨 손쉬운 빌드 구성을 위한 starter 종속성 제공 스프링과 3rd parth(외부) 라이브러리 자동 구성 메트릭, 상..

스프링 HandlerMethodArgumentResolver이란?

ArgumentResolver 정확히는 HandlerMethodArgumentResolver 인데 줄여서 ArgumentResolver 라고 부릅니다. 애노테이션 기반의 컨트롤러는 매우 다양한 파라미터를 사용할 수 있습니다. HttpServletRequest , Model 은 물론이고, @RequestParam @ModelAttribute 같은 애노테이션 그리고 @RequestBody , HttpEntity 같은 HTTP 메시지를 처리하는 부분까지 매우 큰 유연함을 보여줍니다. 이렇게 파라미터를 유연하게 처리할 수 있는 이유가 바로 ArgumentResolver 덕분입니다. 애노테이션 기반 컨트롤러를 처리하는 RequestMappingHandlerAdaptor 는 바로 이 ArgumentResolver ..

반응형