spring 3.0부터 사용할 수 있는 p, c notation 예제를 RestTemplate으로 설명하는 예제이다.
p는 property, c는 constructor argurment를 의미하는 노테이션이다. 여러 줄에 걸쳐 쓰면 verbose한 느낌이 난다.
그래서 notation을 써보니 깔끔한 느낌이 난다.
ImageManager라는 클래스를 RestTemplate을 생성하는 예제이다. applicationContext.xml 파일의 timeout 설정을 살펴본다.
public class ImageManager implements InitializingBean {
private RestTemplate restTemplate;
public ImageManager(RestTemplate restTemplate) {
this.restTemplate = restTemplate;
} //... }
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:c="http://www.springframework.org/schema/c"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"><beans> <bean id="imageRequestFactory" class="org.springframework.http.client.HttpComponentsClientHttpRequestFactory" p:readTimeout="250" p:connectTimeout="250" p:connectionRequestTimeout="250"/>
<bean id="imageRestTemplate" class="org.springframework.web.client.RestTemplate" c:requestFactory-ref="imageRequestFactory"/>
<bean id="imageManager" class="com.google.social.util.ImageManager">
<constructor-arg index="0" ref="imageRestTemplate" />
</bean> </beans>
'general java' 카테고리의 다른 글
[spring boot] l7check 막코드 + nginx 설정 (0) | 2015.10.05 |
---|---|
[spring retry] 재시도 하기 (0) | 2015.10.05 |
[spring] LifecycleProcessor not initialized - call 'refresh' before invoking lifecycle methods 해결하기 (0) | 2015.10.01 |
[spring boot] 기본 log 쓰지 않고, logback 사용할 수 있도록 추가하기 (0) | 2015.09.30 |
[spring boot] Cannot find template location 에러 해결 (0) | 2015.09.30 |