Spring
-
Kotlin 처음 시작하기Programming/Kotlin 2021. 12. 26. 23:32
https://kotlinlang.org/ Kotlin Programming Language kotlinlang.org 코틀린을 처음 알게된 건 우아한형제들의 '어디가서 코프링 매우 알은 체 하기'라는 세미나 때문이었는데, 그때는 필요성도 실용성도 잘 체감하지 못했었다. 하지만 서버 개발자의 길에 입문하면서 코틀린에 관심이 생겼고, 왜 서버 개발 언어의 흐름이 자바에서 코틀린으로 넘어갔는지 알고싶었다. 그래서 다양한 IT서비스 회사들의 코틀린 관련 세미나를 찾아서 들었다 (사실 아래에 있는 링크 전부를 들은 건 아니다.. ㅎㅎ) - 카카오: https://tv.kakao.com/channel/3150758/cliplink/391419295 - 당근마켓(녹화본 업로드 예정): https://www.yout..
-
STOMP와 WebSocket으로 아주 간단한 메시징 시스템 만들기Spring 2021. 10. 19. 21:56
Using WebSocket to build an interactive web application 해당 프로젝트는 아래의 링크를 참고하여 구현했습니다. https://spring.io/guides/gs/messaging-stomp-websocket 이 프로젝트는 브라우저-서버 간 메시지를 주고받는 응용프로그램을 작성하는 과정을 안내한다. WebSocket은 TCP위의 계층으로, 하위 프로토콜을 사용해서 메시지를 포함하기 적합하다. 이 미니 프로젝트에서는 Spring과 함께 STOMP 메시징을 사용해서 대화영 웹 애플리케이션을 구현한다. STOMP는 하위 레벨 웹소켓 위에서 동작하는 프로토콜이다. Project Initialize https://start.spring.io/ 에서 위와 같은 설정으로 프로..
-
Spring Dependency Injection의 종류 - Constructor, Setter, FieldSpring 2021. 10. 16. 00:51
Field Dependency Injection(@Autowired) @AutoWired ❓ Spring Framework에서 지원하는 Dependency 정의 용도의 Annotation Spring 종속적이지만 정밀한 Dependency Injection이 필요한 경우 유용함 해당 어노테이션을 사용해 Bean을 등록할 경우 Injection의 대상이 되는 클래스의 형식은 하나여야 한다(하지만 @Qualifier를 이용해 Injection할 Component의 대상을 지정해줄 수 있다) @Service public class Item { @Autowired private final Pizza pizza; @Autowired private final Burger burger; } @Autowired 어노테..
-
Spring에서는 DI를 통해 IoC를 구현한다Spring 2021. 10. 16. 00:47
IoC - Inversion of Control : 객체의 종속성을 다음의 방식을 통해서만 정의하는 방식을 말한다. Spring에서는 Dependency Injection으로 구현되었다. 생성자 인수 팩토리 메서드의 인수 팩토리 메서드에서 생성되거나 반환되어 객체 인스턴스에 설정된 속성 컨테이너는 빈을 생성할 때 의존성을 주입하므로 Compile Time이 아닌 Runtime에 객체 간의 의존 관계가 결정된다. 따라서 객체 간의 관계가 느슨하게 연결된다(loose coupling). org.springframework.beans와 org.springframework.context package는 Spring Framework의 IoC 컨테이너를 담당한다. BeanFactory : 모든 유형의 객체를 관리..
-
Spring AOP(Aspect-Oriented Programming)의 이해Spring 2021. 10. 3. 19:11
Aspect-Oriented Programming Aspect-oriented Programming(AOP) complements Object-oriented Programming(OOP) by providing another way of thinking about program structure 관점 지향 프로그래밍은 프로그램 구조에 대한 다른 사고방식을 제공해서 객체 지향 프로그래밍을 보완한다 👉 Aspect Oriented Programming with Spring Spring Framework Docs의 AOP를 설명하는 첫 문단이다 절차 지향 프로그래밍과 객체 지향 프로그래밍의 관계처럼 OOP와 AOP를 분리하지 말라는 뜻이기도 하다 OOP의 모듈화 단위가 Class라면 AOP의 모듈화 단위는 ..
-
Filter와 Interceptor의 차이Spring 2021. 9. 30. 00:01
Filter 필터란 리소스에 대한 요청(서블릿/정적 콘텐츠)이나 리소스의 응답 또는 둘 다에 대해 필터링 작업을 수행하는 개체를 말한다. // javax.servlet Interface Filter { void destroy(); void doFilter(ServletRequest request, ServletResponse response, FilterChain chain); void init(FilterConfig filterConfig); } doFilter 메서드에서 필터링 작업을 수행한다. 모든 필터는 초기화 매개변수를 얻을 수 있는 FilterConfig 객체에 대한 액세스 권한을 가지고 있으며 필터링 작업에 필요한 리소스를 로드하는 데 사용할 수 있는 ServletContext에 대한 참조를..
-
Spring Web MVC의 구성요소Spring 2021. 5. 3. 18:22
Spring MVC는 Model2 Architecture와 Front-Controller 패턴을 프레임워크 차원에서 제공하고 있다. 이는 기존 JSP/Servlet의 MVC 패턴에서 Model - View - Controller로 분할되었던 역할을 더 나누어 기존의 패턴과 약간의 차이가 있다. 스프링 프레임워크의 구성 요소들이 어떤 역할을 하는 지에 대해 알아보려고 한다. Spring MVC의 역할은 위의 그림과 같이 나눠지고, Spring Framework에 의해 추가되는 요소들은 Dispatcher Servlet(Front Servlet), HandlerMapping, ViewResolver이다. Controller와 View의 역할 자체는 이전과 같으나 이전에 Controller가 URI를 처리하고..