news 2026/4/7 17:19:32

Spring的命名空间

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Spring的命名空间

Spring的命名空间

一、总述

二、具体实验

2.1引入自定义命名空间

首先要加入要引入的东西的坐标(也就是pom文件中的依赖,以引入springmvc为例)

<dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.23</version></dependency>

其次是改Spring的配置文件:

刚开始是这样:

<?xml version="1.0"encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:util="http://www.springframework.org/schema/util"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd“><bean id="userService"class="com.itheima.service.impl.UserServiceImpl2"autowire="byType"></bean><bean id="userDao"class="com.itheima.dao.impl.UserDaoImpl"/></beans>

要引入mvc,只需要加三个地方(其实如果是Spring的组件的话都是类似的,可以复制粘贴,然后改不同的即可,不是Spring的组件就得自己去找命名空间及命名空间约束了)

命名空间

xmlns:mvc="http://www.springframework.org/schema/mvc"

命名空间、schane地址(jar包命名空间对应的虚拟地址,下面两个必须是成对的):

http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd

最后是这样:

<?xml version="1.0"encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:util="http://www.springframework.org/schema/util"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd"><bean id="userService"class="com.itheima.service.impl.UserServiceImpl2"autowire="byType"></bean><bean id="userDao"class="com.itheima.dao.impl.UserDaoImpl"/></beans>

然后就可以引入mvc标签了:

<?xml version="1.0"encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:util="http://www.springframework.org/schema/util"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd<mcv:annotation-driven/><bean id="userService"class="com.itheima.service.impl.UserServiceImpl2"autowire="byType"></bean><bean id="userDao"class="com.itheima.dao.impl.UserDaoImpl"/></beans>

2.2标签配置不同的环境

使用方式:

1、在配置文件中使用beans的profile属性来进行声明:

<beans profile="dev"><!--再在环境里面像正常一样配置bean--><beanclass="com.itheima.service.impl.UserServiceImpl2"id="userServiceImpl2"/></beans><!--再配置一个测试环境--><beans profile="test"><beanclass="com.itheima.dao.impl.UserDaoImpl"id="userDao"/></beans>

2、使用System.setProperty(“spring.profiles.active”,“环境名来进行调用”),例如:

System.setProperty("spring.profiles.active","test");
System.setProperty("spring.profiles.active","dev");

测试:

packagecom.itheima.test;importcom.itheima.dao.impl.UserDaoImpl;importcom.itheima.service.UserService;importorg.springframework.beans.factory.support.DefaultListableBeanFactory;importorg.springframework.beans.factory.xml.XmlBeanDefinitionReader;importorg.springframework.context.ApplicationContext;importorg.springframework.context.support.ClassPathXmlApplicationContext;importjavax.xml.bind.annotation.XmlAccessOrder;publicclassBeanFactoryTest{publicstaticvoidmain(String[]args){System.setProperty("spring.profiles.active","test");// 直接使用ApplicationContex来进行加载ApplicationContextapplicationContext=newClassPathXmlApplicationContext("applicationContext_beanfac.xml");System.out.println(applicationContext.getBean("userDao1"));}}
### 2.3使用标签将子配置文件导入主配置文件中

使用方式:

1、在子配置文件中定义bean

applicationContextOrder.xml:

<?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"><bean id="userService"class="com.itheima.service.impl.UserServiceImpl"></bean></beans>

applicationContextUser.xml:

<?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"><bean id="userDao"class="com.itheima.dao.impl.UserDaoImpl"></bean></beans>

2、在主配置文件中使用标签

<?xml version="1.0"encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:util="http://www.springframework.org/schema/util"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd<importresource="classpath:applicationContextOrder.xml"/><importresource="classpath:applicationContextUser.xml"/></beans>

测试及结果:

packagecom.itheima.test;importcom.itheima.dao.impl.UserDaoImpl;importcom.itheima.service.UserService;importorg.springframework.beans.factory.support.DefaultListableBeanFactory;importorg.springframework.beans.factory.xml.XmlBeanDefinitionReader;importorg.springframework.context.ApplicationContext;importorg.springframework.context.support.ClassPathXmlApplicationContext;importjavax.xml.bind.annotation.XmlAccessOrder;publicclassBeanFactoryTest{publicstaticvoidmain(String[]args){ApplicationContextapplicationContext=newClassPathXmlApplicationContext("applicationContext_beanfac.xml");System.out.println(applicationContext.getBean("userService"));System.out.println(applicationContext.getBean("userDao"));}}
### 2.4使用标签进行取别名

但是使用name属性也可以,只不过 是一个单独的标签而已。

实验:

<beanclass="com.itheima.dao.impl.UserDaoImpl"id="userDao"name="aaa,bbb"/><!--使用alias标签起别名--><alias name="userDao"alias="xxx"/><alias name="userDao"alias="yyy"/>

结果:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/2 2:55:12

NVIDIA TensorRT在智能制造中的潜在应用

NVIDIA TensorRT在智能制造中的潜在应用 在现代电子制造车间的一条高速SMT&#xff08;表面贴装技术&#xff09;生产线上&#xff0c;每分钟有超过4000块PCB板通过视觉检测工位。摄像头以60帧/秒的速度捕捉图像&#xff0c;AI系统需要在8毫秒内完成缺陷识别并触发剔除动作——…

作者头像 李华
网站建设 2026/4/6 9:31:30

TensorRT推理日志分析与故障排查指南

TensorRT推理日志分析与故障排查指南 在现代AI系统部署中&#xff0c;一个训练好的模型从实验室走向生产环境&#xff0c;往往面临“跑得动”和“跑得好”的巨大鸿沟。尤其是在视频监控、自动驾驶或实时推荐这类对延迟极其敏感的场景下&#xff0c;哪怕几毫秒的延迟波动都可能…

作者头像 李华
网站建设 2026/4/3 4:49:49

从训练到推理:TensorRT如何填补最后一公里?

从训练到推理&#xff1a;TensorRT如何填补最后一公里&#xff1f; 在AI模型越来越强大的今天&#xff0c;一个耐人寻味的现象却普遍存在&#xff1a;实验室里的模型准确率节节攀升&#xff0c;但在真实生产环境中部署时&#xff0c;却常常“跑不动”——响应慢、吞吐低、成本高…

作者头像 李华
网站建设 2026/4/5 18:14:57

视觉Transformer模型的TensorRT优化之路

视觉Transformer模型的TensorRT优化之路 在AI推理性能日益成为系统瓶颈的今天&#xff0c;视觉Transformer&#xff08;ViT&#xff09;这类前沿模型虽然在准确率上屡创新高&#xff0c;却常常因“跑得太慢”而被挡在生产环境门外。尤其是在智能安防、自动驾驶和工业质检等对延…

作者头像 李华
网站建设 2026/4/3 6:23:55

LLMs之MCP:用代码调用 MCP(MCP + Code Execution)—用执行环境让 AI 代理更高效(用代码执行解决 MCP 的上下文成本问题)—减少 token、提升隐私与可复用性的实战

LLMs之MCP&#xff1a;用代码调用 MCP(MCP Code Execution)—用执行环境让 AI 代理更高效(用代码执行解决 MCP 的上下文成本问题)—减少 token、提升隐私与可复用性的实战方案(用执行环境和技能库扩展 MCP 代理能力) 导读&#xff1a;Anthropic 介绍了把 MCP&#xff08;Model…

作者头像 李华
网站建设 2026/4/3 5:35:35

利用TensorRT将BERT推理延迟降低70%

利用TensorRT将BERT推理延迟降低70% 在当今的AI服务系统中&#xff0c;一个原本需要50毫秒才能完成的BERT推理请求&#xff0c;可能直接决定用户是否会流失——尤其是在搜索、客服或语音交互这类对响应速度极为敏感的场景下。面对大模型带来的高延迟与低吞吐困境&#xff0c;我…

作者头像 李华