[SPRING] Class 객체를 설정하기위한 Spring 구문?
SPRINGClass 객체를 설정하기위한 Spring 구문?
봄의 속성을 클래스의 인스턴스가 아니라 클래스 객체 자체로 설정하는 방법이 있습니까? 즉
오히려
<bean>
<property name="prototype" class="a.b.c.Foo">...
"Foo"의 인스턴스를 제공합니다.
<bean>
<property name="prototype" class="java.lang.Class" value="a.b.c.Foo.class"...
편집하다: 가장 좋은 (작업 중) 해결책은 지금까지 - 일반적인 인스턴스 생성을 사용하고 setter에서 클래스를 파생시킵니다. 솔루션 측면에서 나는 이것을 "속임수"라고 묘사합니다 :
<bean class="Bar">
<property name="prototype" class="a.b.c.Foo">...
public class Bar{
public void setPrototype(Object o){
this.prototypeClass=o.getClass();
편집하다: dtsazza의 방법도 잘 작동합니다.
편집하다: pedromarce의 방법도 잘 작동합니다.
해결법
-
==============================
1.
<bean> <property name="x"> <value type="java.lang.Class">a.b.c.Foo</value> </property> </bean>
그게 효과가있다.
-
==============================
2.우아한 구문이 없다면 확실히 정적 팩토리 메서드 Class.forName ()을 사용할 수 있습니다. (나는 거기 있다고 믿지 않습니다) :
우아한 구문이 없다면 확실히 정적 팩토리 메서드 Class.forName ()을 사용할 수 있습니다. (나는 거기 있다고 믿지 않습니다) :
<property name="x"> <bean class="java.lang.Class" factory-method="forName"> <constructor-arg value="a.b.c.Foo"/> </bean> </property>
-
==============================
3.아니요. 빈 태그를 사용하여 클래스를 인스턴스화하는 방법을 Spring에 지시합니다.
아니요. 빈 태그를 사용하여 클래스를 인스턴스화하는 방법을 Spring에 지시합니다.
-
==============================
4.
작동합니까? 그것은 Class 객체의 인스턴스 여야합니다 ... 작동합니까? 그것은 Class 객체의 인스턴스 여야합니다 ...
from https://stackoverflow.com/questions/1601015/spring-syntax-for-setting-a-class-object by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 봄에서 목록의 페이지로 변환 (0) | 2019.03.24 |
---|---|
[SPRING] 요청의 자격 증명 모드가 '포함'인 경우 응답의 헤더는 와일드 카드 '*'가 아니어야합니다. (0) | 2019.03.24 |
[SPRING] Spring @Value 이스케이프 콜론 (:) 기본값 (0) | 2019.03.24 |
[SPRING] 메인 클래스를 찾을 수 없습니다 : bootRepackage (0) | 2019.03.24 |
[SPRING] java.lang.NoSuchMethodException : userAuth.User. <init> () (0) | 2019.03.24 |