Spring的import标签的使用

5.Spring配置文件import 如果所有配置文件都在一个里面,臃肿而且层次不分明,我们使用<import>标签,使配置文件更加清晰 注:新增文件的时候,不能选择New=>File,那样使没法引入的。 得选择Spring Config ... 阅读详情

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>text</groupId>
    <artifactId>Spring01</artifactId>
    <version>1.0.0</version>
    <packaging>jar</packaging>

    <dependencies>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>5.0.0.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>5.0.0.RELEASE</version>
        </dependency>
    </dependencies>

    <build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <version>2.6</version>
        </plugin>
    </plugins>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
        </resource>
        <resource>
            <directory>src/main/java</directory>
            <filtering>true</filtering>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
        </resource>
    </resources>
    </build>


</project>

applicationContext.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">

    <!--导入其他的spring配置文件
        resource:从classes路径开始寻找文件
        classpath:表示指定从classes路径开始寻找配置文件
    -->

    <import resource="classpath:text/spring/_01_hello/applicationContext_hello.xml"/>
    <import resource="classpath:text/spring/_02_configuration/applicationContext_configuration.xml"/>


</beans>

_01_hello:
App.java:

package text.spring._01_hello;

import org.junit.Test;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;

/**
 * Created by Administrator on 2019/9/2.
 */
public class App {
    @Test
    public void HelloWorld(){
//        读取spring的配置文件
        Resource resource=new ClassPathResource("applicationContext.xml");
//        启动容器
        BeanFactory factory=new XmlBeanFactory(resource);
//        1、通过对象的名字获取,需要类型转化
//        HelloWorld helloWorld = (HelloWorld) factory.getBean("helloWorld");
//        2、通过类型获取
//        HelloWorld helloWorld = factory.getBean(HelloWorld.class);
//        3、通过名字和类型共同获取(推荐)
        HelloWorld helloWorld = factory.getBean("helloWorld2", HelloWorld.class);
        System.out.println(helloWorld);

    }
}

HelloWorld.java:

package text.spring._01_hello;

/**
 * Created by Administrator on 2019/9/2.
 */
public class HelloWorld {
    private String name;
    private Integer age;

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "HelloWorld{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

applicationContext_hello.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">

    <!--创建谁的对象
        class:创建的对象的类的全限定名
        id:给对象的一个名字,在spring容器中的该对象的唯一标识,通常为简单类名,首字母小写
    -->
    <bean class="text.spring._01_hello.HelloWorld" id="helloWorld1">
        <property name="name" value="rose"></property>
    </bean>

    <bean class="text.spring._01_hello.HelloWorld" id="helloWorld2">
        <property name="name" value="jack"></property>
    </bean>

</beans>

_02_configuration:
App.java:

package text.spring._02_configuration;

import org.junit.Test;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;

/**
 * Created by Administrator on 2019/9/2.
 */
public class App {
    @Test
    public void test(){
        //        读取spring的配置文件
        Resource resource=new ClassPathResource("applicationContext.xml");
        //        启动容器
        BeanFactory factory=new XmlBeanFactory(resource);
        User user = (User) factory.getBean("user");
        System.out.println(user);
    }


}

User.java:

package text.spring._02_configuration;

/**
 * Created by Administrator on 2019/9/2.
 */
public class User {
    private String name;

}

applicationContext_configuration.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="user" class="text.spring._02_configuration.User">

    </bean>
</beans>
K230开发板实战:5步搞定YOLOv8模型部署(附常见报错解决方案) 本文提供了一份详细的K230开发板部署YOLOv8模型的实战教程。内容涵盖从环境准备、模型转换到代码编写的完整流程,并重点解析了使用AICube工具链时常见的“生成部署文件异常”等报错解决方案,旨在帮助开发者高效完成嵌入式AI模型部署。 阅读详情

相关推荐

【rPPG】基于多光谱摄像头的非接触式睡眠血氧监测系统(传统建模方法解析)

本文深入解析了基于多光谱摄像头的非接触式睡眠血氧监测系统,重点探讨了rPPG技术的原理、硬件设计及传统建模方法。通过多光谱摄像头捕捉皮肤微弱光学变化,实现医疗级精度的心率和血氧监测,特别适合长期睡眠监测场景。文章详细介绍了摄像头选型、照明系统设计以及PBV模型等核心技术,并对比了与传统传感器的性能差异。

weixin_30300225的博客 564

Spring <import>标签的作用

随着项目规模的扩大,Spring的配置文件也会不断增大,为了便于管理和维护配置文件,实际应用中通常采用import标签来规划配置文件,即先将配置文件拆分(一般是按模块进行拆分),最后在主配置文件(通常是applicationContext.xml)中使用impor标签进行整合。如下: <!--默认为相对路径,一般不采用--> <import resource="conf/spring-config1.xml"/> <!--使用classpath:前缀,为绝对...

wjval的博客 1658

华为2288H-V5服务器做raid的详细步骤

华为2288H-V5服务器做RAID

qq_50263172的博客 6万+

[Spring基础扫盲]---(1)import标签规划配置文件

Author:赵志乾 Date:2019-05-10 Declaration:All Right Reserved!!! 随项目规模的增大,Spring配置文件也会不断增大。为了便于配置文件的管理和维护,实际应用中通常采用import标签来规划配置文件,即先将配置文件进行拆分,按功能放置于对应模块,最后在主配置文件(通常是applicationContext.xml)中使用import标签进行...

zhaoyaxuan001的博客 579

如何用ggplot2绘制专业级双侧柱状图展示GO富集结果(附完整代码)

本文详细介绍了如何使用R语言的ggplot2包绘制专业级双侧柱状图展示GO富集结果,包括数据预处理、基础图形构建、高级样式定制和出版级细节调整。通过完整的代码示例和实用技巧,帮助生物信息学研究人员高效可视化高通量数据,提升学术图表的质量和可读性。

weixin_30342209的博客 77

【第三只眼:Oracle通过归档日志查看系统的业务高峰sql】

根据oracle归档的业务高峰量,查找业务sql,进行优化

霍然的专栏 579

Spring的@Import使用详解(干货)

Import使用非常广泛,我们经常看到的以@Enable开头的注解,如等等,都是借助@Import实现的。

grb123的博客 1238

Workbench下列车转向架随机振动疲劳分析

结果中添加功率谱响应工具(Response PSD Tool),可以查看几何体以及远程点上的功率谱密度,如下图11所示,这里查看几何体上某一硬点的加速度功率谱密度响应曲线,如下图12所示。结果中添加疲劳工具(Fatigue Tool),查看列车转向架的疲劳寿命情况,这里采用窄带的寿命假设理论,曝光时间为1s指明计算出的疲劳寿命的基本单位是秒,寿命结果如下图14所示,可以看到最大寿命为1e35s,最小寿命为2.3542e18s,注意单位制,可再次基础上将其转换为小时或天。频域上的统计计算,软件很快计算完成。

ansysxuexizhe的博客 2605

Spring练习,定义三个模块,使用<import>标签完成分模块配置开发

这份《“java高分面试指南”-25分类227页1000+题50w+字解析》同样可分享给有需要的朋友,感兴趣的伙伴们可挑战一下自我,在不看答案解析的情况,测试测试自己的解题水平,这样也能达到事半功倍的效果!(好东西要大家一起看才香)分面试指南”-25分类227页1000+题50w+字解析》同样可分享给有需要的朋友,感兴趣的伙伴们可挑战一下自我,在不看答案解析的情况,测试测试自己的解题水平,这样也能达到事半功倍的效果!(好东西要大家一起看才香)

2301_77118221的博客 596

STM32版CCD线性摄像头寻线寻迹小车_stm32接ccd

目前大多数的小车寻线寻迹都是用红外对管寻线,这是比较简单也比较成熟的技术方案,且成本也低。本文将介绍使用CCD线性摄像头寻线寻迹。TSL1401 线性传感器由一个 1x128 的光电二极管阵列、相关的电荷放大电路以及一个内部像素数据保功能组成。内部像素数据保功能可以为所有像素点提供同时积分的开始和停止时间。该阵列由 128 个像素组成,每个像素的感光面积为 3,524.3 平方微米。像素之间的间隔为 8μm。内部控制逻辑简化了操作,该模块需要串行输入(SI)信号和时钟信号(CLK)。

2401_87557129的博客 3229

Stable Diffusion 模型分享:Beautiful Realistic Asians(美丽真实的亚洲人)

Beautiful Realistic Asians(BRA)模型是由作者自己训练而成的一个独立模型,它是一个真实模型,并且是一个针对亚洲人训练的模型,可以生成非常漂亮的亚洲小姐姐。条目内容类型大模型基础模型SD 1.5来源CIVITAI作者文件名称文件大小1.99GB。

水滴的博客 2157

spring源码之-import标签解析

1.Import标签示例        在SpringBoot之前,Spring配置文件的小伙伴都知道,配置文件的维护会让人觉得恐怖,如果配置文件太多,所有配置都放在一个 spring.xml 配置文件中,那么这个文件就会变得很臃肿,所有针对这种情况 ,Spring 提供了一个分模块的思路,利用 import 标签,可以将各个不...

自恃无情的博客 1029

基于STM32开发板的USB MIDI键盘实现

在本文中,我们介绍了如何使用STM32开发板和相应的软件工具来实现USB MIDI键盘。通过配置STM32CubeMX和编写相应的源代码,我们能够将STM32开发板转换为一个功能齐全的USB MIDI设备。我们将使用STM32开发板和相应的软件工具来实现这一功能,并提供相应的源代码供参考。此时,您应该可以使用STM32开发板作为USB MIDI键盘,并在按键按下时听到相应的音符。在STM32CubeMX中,选择适当的STM32型号,并启动一个新的项目。然后,将生成的可执行文件烧录到STM32开发板中。

2301_79326616的博客 1590

Spring源码分析之import 标签的处理

Spring 中有两种解析 Bean 的方式。如果根节点或者子节点采用默认命名空间的话,则调用parseDefaultElement()进行默认标签解析,否则调用delegate.parseCustomElement()方法进行自定义解析。所以以下博客就这两个方法进行详细分析说明,先从默认标签解析过程开始,源码如下: private void parseDefaultEleme...

apple1414的博客 266

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

spring源码07: import标签解析

本节介绍一下import标签的解析,import标签用于引进新的资源文件,例如一个spring.xml需要引入redis,jdbc等配置文件。主要是要像读者介绍一下递归加载的思想,包括beans标签也使用到了递归的思想,不过beans是递归加载bean,而import是递归加载资源文件。 <beans> <import resource="redis.xml"> &...

bugpool的博客 998

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Spring(十):alias标签、import标签和beans标签的解析

回顾alias标签解析检查是否有循环引用问题总结一下import标签解析Beans标签解析 回顾 前面几篇,将Bean的标签解析整个流程弄懂了,但对于整个XML配置文件的解析是包括以下标签的 bean:用于创建IOC容器创建对象 alias:用于给Bean起别名 import:用于导入其他配置文件(有时候我们喜欢将Spring的配置文件分开单独处理,比如mybatis整合是一个文件、springmvc的整合又是另外一个文件,但Spring读取只会解析一个总文件,所以我们可以在总文件使用import标签导.

GDUT_Trim的博客 1716

spring解析import标签过程分析

importimportimportimport

wang0907的博客 405

《spring源码解读》 - IoC 之解析 import 标签

在上一文中我们分析了注册 BeanDefinition 的过程,在其中我们了解到在解析跟节点和子节点时分两种情况,对于默认名称空间的标签我们通过 DefaultBeanDefinitionDocumentReader#parseDefaultElement(Element ele, BeanDefinitionParserDelegate delegate) 进行处理,而对于自定义标签则通过 BeanDefinitionParserDelegate#parseCustomElement(Element e.

AnonyStar | Blog 631

6、Spring 源码学习 ~ 默认标签的解析之 import 标签的解析

Spring 源码学习

戴泽王的博客 721

java中import标签,Spring IOC 之解析Bean:解析 import 标签

如果根节点或者子节点采用默认命名空间的话,则调用parseDefaultElement()进行默认标签解析否则调用delegate.parseCustomElement()方法进行自定义解析默认标签解析过程,源码如下:private void parseDefaultElement(Element ele, BeanDefinitionParserDelegate delegate) {/...

weixin_34283655的博客 366

spring 之 import标签、alias标签、beans标签 解析

继续接着Spring 加载、解析applicationContext.xml 流程解析 import 、 alias、beans 标签。DefaultBeanDefinitionDocumentReader.parseDefaultElement() 1. import 标签解析标签示例<import resource="user-appalicationContext.xml"/>解析impo

jijianshuai的专栏 2888

spring源码:解析xml中的import和alias标签

一、介绍   spring允许xml中有两类标签:默认标签和扩展标签 。 默认标签有四种:beans、bean、import、alias ; 其中bean标签为最基础的标签,其他三个标签都是围绕bean标签来做封装或者修饰的 beans:包含多个bean标签 import:表示导入另外一个xml,xml又包含这些标签 alias:修饰某个bean的别名 扩展标签包括spring的扩展标签...

咔咔学长 2500

spring中默认标签alias、import标签解析

Alias标签 在bean标签里边有一个alias属性和name属性,可以指定bean的别名,但是有的场景下,在定义bean的时候就把他的别名都指定好是不适用的. 比如这个Bean在组件A中,想把他叫做componentA,但是在组件B中又想把他叫做componetB,所以还有一个单独的标签:< alias>专门解决上述场景的. <bean id="myBean" class="com.itpluto.MyBean"></bean> <alias name="myB

qq_40708942的博客 971

Spring源码3.3 import标签的解析

Rush6666的博客 185

8、【死磕 Spring】—— IoC 之解析Bean:解析 import 标签(转译)

在博客【死磕 Spring】—— IoC 之注册 BeanDefinitions中分析到,Spring 中有两种解析 Bean 的方式: 如果根节点或者子节点采用默认命名空间的话,则调用#parseDefaultElement(...)方法,进行默认标签解析 否则,调用BeanDefinitionParserDelegate#parseCustomElement(...)方法,进行...

a1290123825的博客 276

Spring| 配置文件中 import 标签的作用

多个 Spring 配置文件通过 import 方式整合的话: 1、配置文件会先合并,后解析,也就是说,无论是命名空间还是配置的内容,都会合并处理。 2、因为多个 Spring 配置文件最终会合并到一起(形成一个 ApplicationContext),因此这些配置中的 bean 都是可以互相引用的。 配置方式如下,配置在Beans标签下即可 <?xml version="1.0" enco...

YvesHe的专栏 5622

【死磕 Spring】—– IOC 之解析Bean:解析 import 标签

原文出自:http://cmsblogs.com 在博客【死磕Spring】----- IOC 之 注册 BeanDefinition中分析到,Spring 中有两种解析 Bean 的方式。如果根节点或者子节点采用默认命名空间的话,则调用 parseDefaultElement() 进行默认标签解析,否则调用 delegate.parseCustomElement() 方法进行自定义解析。所以...

chenssy 的技术博客 1429
上一篇: Spring的getBean的三种签名
下一篇: Spring的测试框架
NewBee.Mu
博客等级 码龄8年 602粉丝 379原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值