我的 spring 上下文 xml 中有以下 xml 配置,我很少使用基于注释的方法,无法弄清楚如何使用注释来表示以下内容,需要帮助。
<bean id="myPolicyAdmin" class="org.springframework.security.oauth2.client.OAuth2RestTemplate">
<constructor-arg>
<bean class="org.springframework.security.oauth2.client.token.grant.password.ResourceOwnerPasswordResourceDetails">
<property name="accessTokenUri" value="${accessTokenEndpointUrl}" />
<property name="clientId" value="${clientId}" />
<property name="clientSecret" value="${clientSecret}" />
<property name="username" value="${policyAdminUserName}" />
<property name="password" value="${policyAdminUserPassword}" />
</bean>
</constructor-arg>
</bean>
在我的 java 类(策略管理器)中,它被称为如下,我实际上是在引用一个示例并尝试将其转换为所有注释基础。
@Autowired
@Qualifier("myPolicyAdmin")
private OAuth2RestTemplate myPolicyAdminTemplate;
编辑:
我尝试为 org.springframework.security.oauth2.client.token.grant.password.ResourceOwnerPasswordResourceDetails
创建一个 bean,但不确定如何设置它的属性以及如何将它作为 的构造函数参数访问myPolicyAdminTemplate
最佳答案
您可以使用 JavaConfig 配置相同的 bean,如下所示:
@Component
@Configuration
public class AppConfig
{
@Value("${accessTokenEndpointUrl}") String accessTokenUri;
@Value("${clientId}") String clientId;
@Value("${clientSecret}") String clientSecret;
@Value("${policyAdminUserName}") String username;
@Value("${policyAdminUserPassword}") String password;
@Bean
public OAuth2RestTemplate myPolicyAdmin(ResourceOwnerPasswordResourceDetails details)
{
return new OAuth2RestTemplate(details);
}
@Bean
public ResourceOwnerPasswordResourceDetails resourceOwnerPasswordResourceDetails()
{
ResourceOwnerPasswordResourceDetails bean = new ResourceOwnerPasswordResourceDetails();
bean.setAccessTokenUri(accessTokenUri);
bean.setClientId(clientId);
bean.setClientSecret(clientSecret);
bean.setUsername(username);
bean.setPassword(password);
return bean;
}
}
关于java - 如何将 xml 符号转换为基于注释的符号 : Spring - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30310674/