반응형

Spring

    Spring에서 url 요청하는 RestTemplate 설명

    Spring 기반 프로젝트 진행 시 URL을 요청할 때가 있다. 이를 Apache의 HttpClient 라이브로리를 사용하여 할 수 있지만, 스프링 프로젝트에서는 SpringTemplate를 사용하여 쉽게 요청할 수 있다. (httpClient와 RestTemplate의 차이는 하단의 링크참조) 사용법은 아주 간단하다. 각 요청 Method 마다 하단의 메소드를 이용하여 호출하기만 하면된다. 1. Get 12345RestTemplate restTemplate = new RestTemplate();String fooResourceUrl = "http://localhost:8080/spring-rest/foos";ResponseEntity response = restTemplate.getForEntity(f..

    spring boot에서 jsp사용하기

    spring framework만 사용하다가 요근래 대다수에 회사에서 spring-boot를 사용하는 것을 확인하고 spring-boot에 대해 공부를 해보았다. 확실히 spring-boot를 사용하면 설정이 엄청 간단해서 개발자가 설정에 집중하는게 아니라 비즈니스 로직에만 딱 고민할 수 있도록 되어있어서 진짜 편한것 같다. 그래서 기존에 내가 하고 있는 wedulpos 프로젝트를 spring-boot로 마이그레이션 하는 작업을 거쳤는데 그 사이에 어려운 부분이 있었다. 스프링에서는 jsp를 사용하는 것이 어렵지 않았으나, 기본적으로 spring-boot에서는 jsp 사용이 기본이 아니다. 그래서 설정을 위해서는 몇가지 변경을 해주어야한다. 1. pom설정 - jstl 사용을 위한 라이브러리 추가 1234..

    spring boot 재시작 없이 frontend(html, js..) 변경내용 사용하기

    spring boot를 공부하면서 html요소가 자동으로 변경되지 않아서.. 계속 껏다켜야해서 너무 불편했다. 그래서 구글링 하던중 방법을 알게되어 적어본다. 1. pom.xml 추가 12345 org.springframework.boot spring-boot-devtools trueColored by Color Scriptercs 2. debug 모드로 실행 3. eclipse 설정 중 Build Automatically 설정 여부 확인 (기본으로 사용으로 설정되어 있음)

    Java Json Library Jacson Annotation 소개

    restFul API를 만들다 보면, 어떤 항목을 serialize 제외하거나 null인 항목은 제외하거나 하는 작업이 필요로 할 때가 있다. 이를 Jackson 라이브러리의 Annotation을 사용하여 하는 방법을 확인해보자. [Maven 셋팅] 1234567891011 2.9.2 com.fasterxml.jackson.core jackson-databind ${jackson.version} Colored by Color Scriptercs 예제로 사용될 Student Dto 클래스이다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647package com.wedul.common.dto; /** *..

    스프링 DispatcherServlet 설정 방법

    DispatcherServlet Spring MVC는 dispatcherServlet을 사용하기 위해서는 web.xml에 정의를 해주었어야 했다. 하지만 web.xml에 설정하지 않고도 다른 Java 파일로 설정할 수 있는 방법이 있다. 기존의 web.xml에 설정방식은 다음과 같다. 12345678910111213141516 dispatcher org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/spring/dispatcher-config.xml 1 dispatcher /Colored by Color Scriptercs XML에 정의한 서블릿 설명은 다음과 같다. 1. 이름은 dispatcher 이다. 2. o..

    Spring Context 종류 및 특성

    Spring Context 종류 및 특성 Spring 프로젝트를 처음 생성할 시 root-context.xml과 servlet-contex.xml 두 개가 생성됩니다. 이 두개가 각각 하는일이 지정되어 있는데 무심코 사용하는 경우가 많습니다. 이 둘의 차이점에 대해서 설명하겠습니다. spring은 multi context 환경을 제공해주는데 기본적으로는 root context와 servlet context로 구분됩니다. 1. servlet-context web application의 client의 요청을 받기 위한 entry point 입니다. 따라서 해당 context의 설정에는 요청에 대한 처리를 해줄 controller의 매핑설정(handler mapping)과 요청처리 후 view처리를 어떻게 할..

    Spring Rest Client Feign 소개

    Feign는 넷플릭스에서 개발된 HTTP 클라이언트다. Feign은 HTTP API 클라이언트를 간단하게 제공한다. Feign을 사용하기 위해서는 인터페이스를 선언하고, 어노테이션화 하면 이를 런타임에서 실제 구현을 제공된다. Feign 라이브러리 추가 - feign-okhttp는 request를 만들기 위해서 내부적으로 Square OkHttp 클라이언트를 사용하기 위해 사용 - feign-gson은 JSON 처리기로서 Google Gson을 사용하기 위해 로드 - feign-slf4j는 request들을 로깅하기 위해서 라이브러리 사용 123456789101112131415 io.github.openfeign feign-okhttp 9.3.1 io.github.openfeign feign-gson 9..

    스프링 CacheManager Ehcache

    스프링에는 데이터를 캐시로 보관할 수 있는 캐시 기능을 제공한다. 그 중 대표적으로 사용되는 Ehcache(ehcache-spring-annotation)에 대해 알아보자. 이를 사용하는 가장 대표적인 이유는 다음과 같다. 1. 꾸준하게 동일한 데이터 2. 조회하여 데이터를 가지고 오는데 비용이 많이 소모되는 경우 [설정방법] pom.xml 123456net.sf.ehcacheehcache2.10.4Colored by Color Scriptercs applicationContext.xml 수정 applicationContext-cache.xml 추가 1234567891011121314151617181920212223 Colored by Color Scriptercs Ehcache 설정 파일 생성12345..

    /과 /*의 차이점을 포함한 url-mapping 정리

    web.xml에서 servlet-mapping 설정 시 url-pattern을 설정하는 것에 대해 정확한 정리가 되어 있지 않아서 정리해보았다. [url-pattern별 의미] 1. "/"로 시작하고 "/*"로 끝나는 패턴은 path로 인식 -> /wedul/list, /wedul/user 등 모든 URL 패턴을 매칭 2. "*."으로 시작하는 경우 확장자 매칭 -> 과거 확장자 *.do 또는 *.ajax와 같은 패턴 매칭 3. "/"만 정의한 경우 디폴트 서블릿 의미 -> default servlet은 servlet mapping에 걸리지 않은 나머지 매핑요소들을 처리한다. 4. 그 외의 경우는 정확하게 일치하는 매칭 /* Dispathcher servlet을 /*으로 했을때의 문제/*으로 매핑하였을 ..

    Spring 비동기 프로세스 Callable, DeferredResult, SseEmitter

    Callable Spring MVC 3.2는 Servlet 3를 기반으로한 비동기 요청 프로세스를 공개했다. 이 프로세스는 보통 값을 바로 반환하는 것 대신에 컨트롤러는 java.util.concurrent.Callable를 먼저 반환하고, Spring에서 관리하는 별도의 Thread에서 값을 반환한다. 위의 과정을 진행하는 동안 주요 Servlet Container Thread는 해당 요청에서 벗어나서 다른 Request를 받을 수 있게 벗어난다. 그리고 Spring MVC는 TaskExecutor의 도음으로 각각에 Thread에서 Callable 작업을 실행한다. 그리고 Callable 작업이 종료된 후 Callable 객체를 반환한다. 그럼 다시 요청이 Servlet container로 돌아가게 되..

반응형