之间有什么区别
<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-4.1.xsd">
和
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:security="http://www.springframework.org/schema/security"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security.xsd">
在前者中,安全性配置为
<http auto-config="true">
<intercept-url pattern="/login" access="permitAll()" />
</http>
而后者则将其配置为
<security:http auto-config="true">
<security:intercept-url pattern="/login" access="permitAll()" />
</security:http>
我不确定两种架构格式之间的功能差异。也有人可以建议哪个是优先考虑的,或者哪个优先考虑各自的优势?
答案 0 :(得分:3)
至少存在两个差异
第一个只是语法:bean是默认命名空间(Petar Ivanov在他的answer中解释了这个)
第二个可能导致以后出现一些问题(当你更新spring或spring-security时):
XSD版本号与XSD版本号无关
在您第一次使用http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
和http://www.springframework.org/schema/security/spring-security-4.1.xsd
时,您使用的是xsd的的修复版本(春天和春天的安全性有不同的数字)
在您的第二个剪辑中,您使用了http://www.springframework.org/schema/beans/spring-beans.xsd
和http://www.springframework.org/schema/security/spring-security.xsd
。在这种情况下,spring将使用您使用的弹簧和弹簧安全罐支持的最新模式。
答案 1 :(得分:2)
标记beans:beans
引用beans
命名空间中的beans
标记,标记beans
引用默认命名空间中的beans
标记。
如果默认命名空间为beans
- 则完全没有区别。