[SPRING] 스프링 빈에 int 배열을 주입하는 법
SPRING스프링 빈에 int 배열을 주입하는 법
1, 2, 3, 4, 5, 6, 7, 8, 9, 10 같은 정수 목록이 있습니다.
내 POJO 정수 배열로 사용하고 싶습니다.
그러나, 나는 내 수업 내에서 그것을 원하지 않지만, 그것을 속성 파일에 외부화하고 내 xml에 클래스의 속성으로 삽입하고 싶습니다.
그것을하는 방법?
읽어 주셔서 감사합니다!
해결법
-
==============================
1.다음과 같은 방법이 있습니다.
다음과 같은 방법이 있습니다.
<beans:bean id="myBean" class="MyClass"> <beans:property name="myIntArray" > <beans:list> <beans:value>1</beans:value> <beans:value>2</beans:value> <beans:value>3</beans:value> </beans:list> </beans:property> </beans:bean>
그러나 속성 파일에서이 값을 읽어야하므로 속성 파일에서 읽을 수있는 방법을 찾지 못했습니다 .-(
그러나 나는 그것에 대한 추한 수정이있다. 수업을 다음과 같이 변경하십시오.
Class MyCLass { private Integer[] myIntArray; private String[] myIntArrayStr; public Integer[] getMyIntArray(){ return this.myIntArray; } public void setMyIntArray(Integer[] intArray){ this.myIntArray=intArray; } public void setMyIntArrayStr(String[] myIntArrayStr) { this.myIntArrayStr = myIntArrayStr; //we are going to read the values as a string array and set out integer array inside this setter int i=0; Integer[] myInts = new Integer[myIntArrayStr.length]; for(String s: myIntArrayStr){ myInts[i]=Integer.parseInt(s); i++; } setMyIntArray(ints); } }
다음과 같이 XML을 작성하십시오.
<beans:bean id="myBean" class="MyClass"> <beans:property name="myIntArrayStr"> <beans:value> ${myvalues} <!-- this is gonna come from properties file as previously was --> </beans:value> </beans:property> </beans:bean>
희망이 도움이됩니다.
-
==============================
2.쉼표로 값을 구분하면됩니다.
쉼표로 값을 구분하면됩니다.
클래스가 다음과 같이 보이는 경우
Class MyCLass { private Integer[] myIntArray; public Integer[] getMyIntArray(){ return this.myIntArray; } public void setMyIntArray(Integer[] intArray){ this.myIntArray=intArray; } }
컨텍스트 파일에는 다음과 같은 내용이 있어야합니다.
<bean id="myBean" class="MyClass"> <property name="myIntArray" value="1,2,3,4,5"></property> </bean>
사용자에게 속성 파일을 원할 경우 :
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location" value="classpath:myProps.properties"/> </bean> <bean id="myBean" class="MyClass"> <property name="myIntArray" value="${myvalues}"></property> </bean>
myProps.properties 파일에서
myvalues=1,2,3,4,5
-
==============================
3.spring.xml에서 이와 비슷한 것을 가질 수있다.
spring.xml에서 이와 비슷한 것을 가질 수있다.
<bean id="mybean" class="package.name"> <property name="myIntArray"> <list value-type="int"> <value>1</value> <value>2</value> <value>3</value> </list> </property> </bean>
희망이 당신과 다른 사람도 도움이됩니다. 이것은 속성 파일을 사용하고 싶지 않을 때입니다.
from https://stackoverflow.com/questions/8937743/how-to-inject-an-int-array-in-spring-bean by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] org.hibernate.MappingException : 알 수없는 엔티티 : (0) | 2019.04.04 |
---|---|
[SPRING] 봄 mvc에서 LocalDate에 대한 전역 데이터 바인딩을 등록하는 방법? (0) | 2019.04.04 |
[SPRING] Java 9 용 Spring 5가 필요합니까? (0) | 2019.04.04 |
[SPRING] tomcat7 : JDBC 드라이버 클래스를로드 할 수 없습니다 [com.mysql.jdbc.Driver] (0) | 2019.04.04 |
[SPRING] mvn spring-boot : vs java -jar 실행 (0) | 2019.04.04 |