更新时间:2022-10-27 来源:黑马程序员 浏览量:
Spring 的 xml 标签大体上分为两类,一种是默认标签,一种是自定义标签。默认标签不用额外导入其他命名空间约束的标签,例如 <bean>标签。自定义标签需要额外引入其他命名空间约束,并通过前缀引用的标签,例如<context:propertyplaceholder/>标签。
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="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.xsd"> </beans>
该命名空间约束下的默认标签如下:
<beans>标签,除了经常用的做为根标签外,还可以嵌套在根标签内,使用profile属性切换开发环境。
<!-- 配置测试环境下,需要加载的Bean实例 --> <beans profile="test"> </beans> <!-- 配置开发环境下,需要加载的Bean实例 --> <beans profile="dev"> </beans>
指定被激活的环境可以使用以下两种方式:
1.使用命令行动态参数,虚拟机参数位置加载 -Dspring.profiles.active=test
2.使用代码的方式设置环境变量 System.setProperty("spring.profiles.active","test")
<import>标签,用于导入其他配置文件,项目变大后,就会导致一个配置文件内容过多,可以将一个配置文件根
据业务某块进行拆分,拆分后,最终通过<import>标签导入到一个主配置文件中,项目加载主配置文件就连同<import>导入的文件一并加载了。
<!--导入用户模块配置文件--> <import resource="classpath:UserModuleApplicationContext.xml"/> <!--导入商品模块配置文件--> <import resource="classpath:ProductModuleApplicationContext.xml"/>
<alias>标签是为某个Bean添加别名,与在标签上使用name属性添加别名的方式一样,我们为UserServiceImpl指定四个别名:aaa、bbb、xxx、yyy。
<!--配置UserService--> <bean id="userService" name="aaa,bbb" class="com.itheima.service.impl.UserServiceImpl"> <property name="userDao" ref="userDao"/> </bean> <!--指定别名--> <alias name="userService" alias="xxx"/> <alias name="userService" alias="yyy"/>
断点调试,在beanFactory中维护着一个名为aliasMap的Map<String,String>集合,存储别名和beanName
之间的映射关系。
Spring的自定义标签需要引入外部的命名空间,并为外部的命名空间指定前缀,使用 <前缀:标签> 形式的标签,称 之为自定义标签,自定义标签的解析流程也是 Spring xml扩展点方式之一。
<!--默认标签--> <bean id="userDao" class="com.itheima.dao.impl.UserDaoImpl"/> <!--自定义标签--> <context:property-placeholder/> <mvc:annotation-driven/> <dubbo:application name="application"/>
【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19【AI大模型开发-Python】毕业33个工作日,就业率已达到94.55%,班均薪资20763元
2025-09-19【AI智能应用开发-Java】毕业5个工作日就业率98.18%,最高薪资 17.5k*13薪,全班平均薪资9244元
2025-09-19