Когда вы говорите, что используете свой групповой объект Stormpath «как класс», я предполагаю, что вы имеете в виду «как компонент Spring»? Если так, то однозначно!
Например:
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);
}
Затем в другом месте вашей конфигурации Spring вы можете использовать adminGroup()
для ссылки на группу (в сохраненном файле класса конфигурации Java). Или, если вы хотите сослаться на Group как на bean-компонент в других классах конфигурации Java или bean-компонентах @Component, просто подключите его автоматически:
@Autowired
private Group adminGroup;
Однако, если вы определяете более одного компонента Group
в своей конфигурации Java Spring (возможно, другие группы? Например, users
или employees
?), тогда вам понадобится @Qualifier
при автоподключении, чтобы гарантировать, что будет введен правильный экземпляр Group
:
@Autowired
@Qualifier("adminGroup")
private Group adminGroup;
Все экземпляры ресурсов Stormpath (Account
, Group
, Application
и т. д.) являются потокобезопасными, поэтому при желании их можно безопасно использовать как синглтоны.
person
Les Hazlewood
schedule
23.02.2017