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>



Posted by '김용환'
,