내 응용 프로그램 요구 사항은 런타임에 응용 프로그램 빈을 수동으로 작성한 다음 응용 프로그램 컨텍스트에 추가해야한다는 것을 의미합니다.Spring : 응용 프로그램 컨텍스트 외부에서 PropertyPlaceholderConfigurer 지원 사용
이 콩은 타사 라이브러리에 속하므로 수정할 수 없습니다. 예 : 이 콩을 만드는 TibjmsConnectionFactory
그래서 내 공장 클래스 이름을 설정하는 Properties
객체, 비밀번호, connectionTimeouts 등을 제공 할 필요가
이상적 그래서 내가 할 Spring
의 속성 지원을 사용하고 싶습니다
또한, 내 전체 ApplicationContext
에 PropertyPlaceholderConfigurer
에 의해 사용되는 동일한 등록되지 않습니다 내 공장 클래스에 제공되는 Properties
방법 등을 할 문자열을 정수로 변환 할 필요가 없습니다 나는 이것을 성취합니까 아니면 가능합니까?
public class MyCustomFactoryStrategy {
@Override
public TibjmsConnectionFactory create(Properties properties) {
TibjmsConnectionFactory connectionFactory = new TibjmsConnectionFactory();
connectionFactory.setServerUrl(properties.getProperty("emsServerUrl")); // this is a string
connectionFactory.setConnAttemptCount(new Integer(properties.getProperty("connAttemptCount"))); // this is an integer
...
return connectionFactory;
}
그래서 여기에 제안 위 내 공장 대신에 사용자 지정 응용 프로그램 컨텍스트를 만드는 것입니다, 나는 빈 초기화 한 후 다음 나는 그에서 걸릴 수 있습니다 응용 프로그램 컨텍스트 및 내 주요 하나 추가 할 수 있습니까? – DJ180
예 여기에는 두 가지 일이 있습니다. 우선 컨텍스트 핸들을 얻어 프로그래밍 방식으로 구성 할 수 있습니다. 두 번째 요점은 PropertyPlaceHolderConfigurer를 초기화하여 응용 프로그램 외부에서 시스템 속성을 전달할 수 있도록하는 것입니다. –