之前用的是SpringBoot,没接触过Spring的xml配置,最近项目转到普通Spring,顺便学习了一下基于xml的配置。
首先是命名空间的定义:
<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans" (1)
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" (2)
xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" (3)
xsi:schemaLocation="http://www.springframework.org/schema/beans (4)
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.0.xsd">
...</beans>
①处为默认命名空间,它没有空间名,用于SpringBean的定义;
②处xsi标准命名空间,用于为每个文档中的命名空间指定相应的Schema样式文件,是w3c定义的标准命名空间;
③处aop命名空间:这个命名空间是spring配置aop的命名空间,即一种自定义的命名空间;
④处为每个命名空间指定具体的Schema文件。
然后是Bean的定义和命名:
<bean id="person" class="com.smart.exmple.Person"/>
id不可以重复,也可以用name代替id,name可以重复,后定义的覆盖先定义的。