태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

Apache commons의 하위 프로젝트였던 HttpClient 프로젝트가 HttpComponent 프로젝트로 독립되면서 다양한 기능 지원과 함께 사용방법이 많이 바뀌었다.


Spring에 integration해서 사용하기 위한 문서도 매우 부족하고 검색에서 나오는 예제들은 모두 이전 버전대에 해당하는 것들이라서, 기본적인 사용법을 참고 삼아 보라고 함 올려본다.


Spring configuration



Code 


Posted by Breeze.Kang

댓글을 달아 주세요

제목이 길고 이해하기가 어렵지만.


콤마로 구분된 스트링 (Comma separated string)을 array로 변환하여 사용하고자 할때가 많이 있습니다.


예를 들면 서버들이 여러대가 있을경우 property에서


server.host = server1, server2, server3


이렇게 표현을 하는게 심플하기 때문이죠.


물론 


server1.host = server1

server2.host = server2

..


뭐 이렇게 표현을 할수도 있습니다만 왠지 이런건 싫잖아요?




설정을 담을 수 있는 bean을 하나 만들어줍니다.


1
2
3
4
5
6
7
8
9
10
11
12
13

public class ChatServerBean {
 
    private String[] servers;
 
    public void setServers(String[] values) {
        this.servers = values;
    }
 
    public String[] getServers() {
        return servers;
    }
}


application-context.xml  같은 설정 파일에서..


1
2
3
4
5
 
<bean id="chatServerBean" class="com.oolblue.hunter.gameworld.bean.ChatServerBean">
        <property name="servers" value="server1,server2,server3"/>
 </bean>
 

이렇게 해서 chatServerBean을 필요한 곳에 injection 하셔서 사용하시면 됩니다.




Posted by Breeze.Kang

댓글을 달아 주세요

Spring에서 json포멧으로 결과를 출력하는 다양한 방법이 존재 합니다. 


가장 간단한거로는 ModelAndView에서 출력하는 View를  json포멧으로 수동으로 찍어주는 방법도 있구요. 


View를 상속받은 JsonView 같은 거를 만들거나 라이브러리를 사용하여 Controller에서 리턴해주는 방법도 있구요. 


ViewResolver에서 JacksonJsonView를 매핑하여 사용하는 방법도 있습니다. 3.1버전 이상에서 부터 지원됐던걸로 기억합니다. (확인필요)

<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
  <property name="mediaTypes">
    <map>
      <entry key="atom" value="application/atom+xml"/>
      <entry key="html" value="text/html"/>
      <entry key="json" value="application/json"/>
    </map>
  </property>
  <property name="viewResolvers">
    <list>
      <bean class="org.springframework.web.servlet.view.BeanNameViewResolver"/>
      <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
      </bean>
    </list>
  </property>
  <property name="defaultViews">
    <list>
      <bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" />
    </list>
  </property>
</bean>


Gson이라는 Google에서 만든 Json라이브러리를 사용하기위하여 찾아보던중에... 발견한것인데요.   Spring4.1 버전에서 부터는 각종 message converter를 기본 지원하기 시작하는데요... 그중에 Gson도 지원을 하기 시작했습니다. 


따라서 간단한 설정만으로 기존 오브젝트들을 간단히 json포멧으로 변경이 가능합니다. 


예를 들면 

<bean id="gsonHttpMessageConverter" class="org.springframework.http.converter.json.GsonHttpMessageConverter"/>


설정을 추가 하고, 


controller에서 @ResponseBody 어노테이션을 추가해주면 


@RequestMapping(value = "/user/list", produces = MediaType.APPLICATION_JSON_VALUE)

@ResponseBody

public ResponseBean listUser(

            @RequestParam(value = "page", defaultValue = "0") int page,

            @RequestParam(value = "keyword", defaultValue = "") String keyword) {


        int pageSize = 10;


        List<User> users = null;

        if (keyword.equals("")) {

            users = userService.getList();

        }

        return new ResponseBean(ResponseCode.SUCCESS, users);

    }


결과값이 json으로 변환되어 출력이 됩니다. 


@ResponseBody에 대한 추가적인 정보나,  Jackson을 이용한 방법은 다음 주소에서 확인하세요.


http://ismydream.tistory.com/140



spring4.1이 아직 stable버전이 나오지 않았다는 것은 함정.  ㅋㅋ 


물론 Jackson을 사용한 같은 방식도 이미 전부터 지원을 했습니다만 4.1 부터는 Gson도 지원합니다. 










Posted by Breeze.Kang

댓글을 달아 주세요

  1. swagger 검토해보삼. api 명세 + test web form 이 그냥 뚝딱 만들어진당께~

    http://blog.zenika.com/index.php?post/2013/07/11/Documenting-a-REST-API-with-Swagger-and-Spring-MVC

    2014.08.11 17:28 신고 [ ADDR : EDIT/ DEL : REPLY ]

Spring 3.0을 이미 Project에 적용하고 계신 분들도 있으시리라고 생각합니다.

웹서핑을 하다가 보니 Spring 3.0의 새로운 기능에 대하여 잘 설명하고 있는 자료가 있어서 퍼왔습니다.

2009년 5월에 열린 Java User Group 세미나에서 발표된 자료구요,

원본 출처는 다음과 같습니다.

http://www.intertech.com/UserGroups/JUGPresentation.aspx?TopicID=135

무엇보다 REST URL을 지원해주는 부분이 눈에 띄는 부분입니다.

기존에 이 부분이 지원이 안되서 외부 라이브러리를 사용하거나 직접 구현하여 사용하곤 했었는데,

아주 깔끔하게 이 부분이 적용이 되었네요.

PPT에 그 내용도 설명이 나와있습니다.

한번 읽어보시기 바랍니다.

좀 더 자세한 내용은 아래 링크에서 문서를 보실 수 있습니다.

http://www.epril.com/resources/spring3/reference/html/index.html



Description : Spring MVC is the core component of the Spring Framework's web strategy. It provides a robust, flexible framework for building web applications built on the Model 2 architecture. In this presentation, Bob McCune will provide an overview of the new features and capabilities of Spring MVC including its @Controller annotations, REST support, and new data validation integrations.

Spring MVC 3
Posted by Breeze.Kang

댓글을 달아 주세요