将 Spring XML 转换为 JavaConfig
Converting Spring XML to JavaConfig
我想将以下 spring bean 从 xml 转换为 javaconfig class:
<bean id="restTemplate" class="org.springframework.security.oauth2.client.OAuth2RestTemplate">
<constructor-arg ref="resource"/>
<property name="messageConverters">
<list>
<ref bean="jaxbMessageConverter" />
<ref bean="stringHttpMessageConverter" />
<ref bean="jsonConverter" />
</list>
</property>
</bean>
<bean id="resource" class="org.springframework.security.oauth2.client.token.grant.password.ResourceOwnerPasswordResourceDetails">
<property name="username" value="asdfasdf" />
<property name="password" value="asdfasdfa" />
<property name="clientId" value="asdfasdf-asdfas-asdfasf" />
<property name="clientSecret" value="asdfasdf-asdfasdf-adfasdfd" />
<property name="accessTokenUri" value="asdfsadfasd" />
<property name="grantType" value="password"></property>
<property name="clientAuthenticationScheme" value="form" />
</bean>
您将如何转换它?我遇到了 this example,但这有点令人困惑,因为 <constructor-arg...>
和 <property....>
标签在 java 中的表示方式对我来说并没有真正意义。在示例中,它们都转换为:
return new JButton(...);
在 spring 配置文件中你需要这样做:
@Bean
public ResourceOwnerPasswordResourceDetails resource() {
ResourceOwnerPasswordResourceDetails r = new ResourceOwnerPasswordResourceDetails ();
r.setUsername("asdfasdf");
....
}
@Bean
public OAuth2RestTemplate restTemplate() {
OAuth2RestTemplate rest = new OAuth2RestTemplate(resource());
rest.setMessageConverters(...);
List<HttpMessageConverter<?>> messageConv = new ArrayList<HttpMessageConverter<?>>();
messageConv.add(new MappingJackson2HttpMessageConverter());
rest.setMessageConverters(messageConv);
}
从上面的例子可以看出规则:
属性 可以用 setProperty 完成..
构造函数arg实际上是构造函数中的参数
列表是arraylist
bean之间的依赖如示例
建议:如果您正在努力实现某件事,但您不理解只是 google 它并搜索特定示例。这将是最简单的方法,并且按规则工作将很容易你
我想将以下 spring bean 从 xml 转换为 javaconfig class:
<bean id="restTemplate" class="org.springframework.security.oauth2.client.OAuth2RestTemplate">
<constructor-arg ref="resource"/>
<property name="messageConverters">
<list>
<ref bean="jaxbMessageConverter" />
<ref bean="stringHttpMessageConverter" />
<ref bean="jsonConverter" />
</list>
</property>
</bean>
<bean id="resource" class="org.springframework.security.oauth2.client.token.grant.password.ResourceOwnerPasswordResourceDetails">
<property name="username" value="asdfasdf" />
<property name="password" value="asdfasdfa" />
<property name="clientId" value="asdfasdf-asdfas-asdfasf" />
<property name="clientSecret" value="asdfasdf-asdfasdf-adfasdfd" />
<property name="accessTokenUri" value="asdfsadfasd" />
<property name="grantType" value="password"></property>
<property name="clientAuthenticationScheme" value="form" />
</bean>
您将如何转换它?我遇到了 this example,但这有点令人困惑,因为 <constructor-arg...>
和 <property....>
标签在 java 中的表示方式对我来说并没有真正意义。在示例中,它们都转换为:
return new JButton(...);
在 spring 配置文件中你需要这样做:
@Bean
public ResourceOwnerPasswordResourceDetails resource() {
ResourceOwnerPasswordResourceDetails r = new ResourceOwnerPasswordResourceDetails ();
r.setUsername("asdfasdf");
....
}
@Bean
public OAuth2RestTemplate restTemplate() {
OAuth2RestTemplate rest = new OAuth2RestTemplate(resource());
rest.setMessageConverters(...);
List<HttpMessageConverter<?>> messageConv = new ArrayList<HttpMessageConverter<?>>();
messageConv.add(new MappingJackson2HttpMessageConverter());
rest.setMessageConverters(messageConv);
}
从上面的例子可以看出规则:
属性 可以用 setProperty 完成..
构造函数arg实际上是构造函数中的参数
列表是arraylist
bean之间的依赖如示例
建议:如果您正在努力实现某件事,但您不理解只是 google 它并搜索特定示例。这将是最简单的方法,并且按规则工作将很容易你