我想使用Spring配置Java,但几乎所有示例都是用XML编写的,我不知道如何将它们转换为Java。看看这些examples from Spring Security 3:
<http auto-config='true'>
<intercept-url pattern="/**" access="ROLE_USER" />
</http>
<authentication-manager>
<authentication-provider>
<user-service>
<user name="jimi" password="jimispassword" authorities="ROLE_USER, ROLE_ADMIN" />
<user name="bob" password="bobspassword" authorities="ROLE_USER" />
</user-service>
</authentication-provider>
</authentication-manager>
<password-encoder hash="sha">
<salt-source user-property="username"/>
</password-encoder>
如何将其转换为Java配置?或者,更一般地说,如何将Spring XML配置转换为Java?有一些关于Java confing in the Spring reference的部分,但没有那么有用。
答案 0 :(得分:3)
关注JavaConfig
项目documentation。
答案 1 :(得分:2)
这可能比您想象的更简单。春天没有做任何魔术。 XML配置解析器只创建bean定义并将其注册到bean工厂。您可以通过创建DefaultListableBeanFactory并使用它注册bean定义来执行相同的操作。这里的主要错误是认为“哎呀,我只是创建bean并将它们放在app环境中”。这种方法不起作用,因为Spring懒惰地创建bean,而API是围绕工厂的想法构建的,在必要时调用它,而不是在启动时完成所有工作的工厂。
Here is some example code。请注意,此示例需要更多代码行,但通过定义自己的帮助程序方法,您应该能够将其分解为与XML相同的内容。
答案 2 :(得分:1)
您无法使用自定义命名空间(例如http://www.springframework.org/schema/security
)转换XML配置。但是,您可以使用@ImportResource