본문 바로가기

프로그래머로 살아가기/Spring

Spring 설정에서 콤마로 구분된 String을 array로 변환하여 사용하기

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


콤마로 구분된 스트링 (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 하셔서 사용하시면 됩니다.