2017-02-23 6 views
1

봄 부팅 응용 프로그램에서 Stormpath 그룹 객체 (예 : ADMIN)를 클래스로 사용할 수 있습니까? 내 말은, 나는이 객체의 일부 상태를 유지하기를 원하며 ADMIN의 이메일과 패스워드와 성/생일과 같은 다른 데이터를 가지고있는 POJO를 유지하고 싶지는 않지만 단지 전체 상태와 행동을 stormpath 그룹 ADMIN의 인스턴스입니다.봄 부팅 객체로 stormpath 그룹 사용

달성 할 수 있습니까?

답변

2

Stormpath 그룹 개체를 '클래스'로 사용한다고 말하면 '스프링 빈'을 의미한다고 가정합니다. 그렇다면 가장 확실하게! 예를 들어

:

import com.stormpath.sdk.client.Client; 
import com.stormpath.sdk.group.Group; 
import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.beans.factory.annotation.Value; 
import org.springframework.context.annotation.Bean; 

// ... 

@Autowired 
private Client client; 

//I just made this property up - use any property name you want and 
//define it in your Spring config and ensure the value is the 
//fully qualified Stormpath href corresponding to your admin group: 
@Value("${groups.admin.href}") 
private String adminGroupHref; 

@Bean 
public Group adminGroup() { 
    return client.getResource(adminGroupHref, Group.class); 
} 

그런 다음, 다른 곳에 봄 설정에서 당신이 (저장 자바 구성 클래스 파일에) 그룹을 참조 할 adminGroup()를 사용할 수 있습니다. 당신이 다른 Java 구성 클래스 또는 @Component 콩에서 콩으로 그룹을 참조 할 경우 또는, 그냥 autowire하기 :

@Autowired 
private Group adminGroup; 

을하지만, 당신이 당신의 봄 자바 설정에서 둘 이상의 Group 빈을 정의하는 경우 (아마도

@Autowired 
@Qualifier("adminGroup") 
private Group adminGroup; 

모든 Stormpath 자원 인스턴스 (Account, Group, Application, 전자 :? 올바른 Group 인스턴스가 주입되도록 autowiring에 때 다른 그룹과 같은 users 또는 employees)를 선택한 다음, 당신은 @Qualifier이 필요합니다 tc)는 스레드로부터 안전하므로 원하는 경우 싱글 톤으로 사용할 수 있습니다.