내가 봄에 위의 시나리오에 대한 이동하는 방법에 대한 혼란 (의존성 주입 컨텍스트)봄 의존성 주입 시나리오
class Login {
String username;
String password;
UserAuthService userAuth;
/*
assume getter and setter
methods for above private
properties here
*/
}
UserAuthService 부울 방법의 유효성이있는 인터페이스를 가지고 오전 (문자열 이름, 문자열 암호);
BasicAuthService, LDAPAuthService, MockBasicAuthService, MockLDAPAuthService로 구현됩니다. 또한 BasicAuthServie에는 LDAPAuthService와 동일한 인증 서버의 IP 주소를 가진 문자열 인 serverAddress 속성이 있다고 가정합니다. 내 질문의
컨텍스트
나는 UserAuthService의 구체적인 구현 중 하나를 주입 것 beanconfig 파일을 기반으로 봄 (의 IOC)를 이해 의존성 삽입 (Dependency Injection)과 봄입니다.1. beanconfig 파일에서 우리는 ref를 한 번만 구성 할 수 있습니다.() 시나리오 : UI 사용자가 BasicAuth/LDAPAuth를 선택하기위한 드롭 다운을 가지고 있다고 가정합니다. 사용자가 LDAPAuth를 선택했습니다. 봄에이 사례를 처리하는 방법은 무엇입니까? beanconfig 파일에 ref = "beanIdBasicAuthService"가 고정되어 있기 때문에). 동적으로 심판을 변경하는 방법이 있습니까?
2. 좀 더 복잡한 (IT 관리자 또는 가정), UI는 이제 인증 서버의 주소 (Basic/LDAP Auth Service 클래스의 속성)를 선택하는 옵션을 제공합니다. 다시 beanconfig 파일에서 우리는 속성을 하드 와이어 시켰을 것입니다. 봄에 다이나믹하게 변화시키는 방법? (주입 된 bean을 명시 적으로 얻지 않고 setterMethod를 호출하는 것 외)
이 시나리오는 다소 혼란 스럽다. 누군가 설명해 주시겠습니까?