Spring
-
(kotlin)gradle spring boot application dockerizeSpring 2023. 9. 28. 19:07
https://spring.io/guides/topicals/spring-boot-docker/ Getting Started | Spring Boot Docker The Spring Boot Maven and Gradle plugins use buildpacks in exactly the same way that the pack CLI does in the following examples. The resulting images are identical, given the same inputs. Cloud Foundry has used containers internally for many years now, an spring.io 1. spring boot application initialize ht..
-
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의 모듈화 단위는 ..
-
@(Annotation)을 이용한 Spring Container ConfigurationSpring 2021. 10. 2. 20:39
이 글은 아래의 공식 문서를 참조해서 작성했습니다 https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#beans-java Core Technologies In the preceding scenario, using @Autowired works well and provides the desired modularity, but determining exactly where the autowired bean definitions are declared is still somewhat ambiguous. For example, as a developer looking at ServiceConfig, how do docs.sp..
-
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 Framework MVC 설정 파일(.xml)Spring 2021. 5. 5. 22:00
Spring MVC를 이용해서 웹 어플리케이션을 구현하기 위해서는 XML 파일의 설정이 필요하다 DispatcherServlet 등록 Spring 설정 파일 등록 DI(의존성) 설정 및 Bean 객체 등록 HandlerMapping 설정 Context 설정 파일 등록 ViewResolver 설정 대표적으로 pom.xml, web.xml, root-context.xml, servlet-context.xml의 파일이 있지만 그 쓰임새가 자꾸 헷갈려서 정리해보려고 한다 pom.xml ➡ Project Object Model 프로젝트의 구조와 내용을 설명하는 xml 파일 프로젝트 관리 및 빌드에 필요한 환경 설정, 버전 설정, 의존성 관리 등의 정보를 기술 web.xml DispatcherServlet 설정 :..