Spring IOC基于注解和XML配置使用

Spring IoC配置(xml+注解) 0.配置思路文末有本篇文章的项目源代码可供下载学习此时XML文件相当于一个向导,告诉Spring IoC容器,你不要来我这找各个组件类的配置信息了,你去哪哪哪包下去找吧,那里会标注特定的注解,你看到特定注解就会知道怎么配置各个组件类的信息了.特定注解>>>0.配置思路1.配置pom.xml。 阅读详情

一、简介

Spring2.5虽然支持注解,但是还是无法抛弃xml文件

二、环境准备

  1. 创建maven项目
  2. 添加依赖
		<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.6.RELEASE</version>
        </dependency>
  1. 在resources文件下创建XML文件spring_ioc.xml
    配置扫描注解的路径
<context:component-scan base-package="cn.tedu">
</context:component-scan>

三、实例解析

1.实现依赖注入

  • 基于注解方法进行依赖注入
@Component
public class User {
    @Value("张三")
    private String name;

    public String getName() {
        return name;
    }

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

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

创建测试类:

public class IocTest {
    ClassPathXmlApplicationContext ioc;

    @Before
    public void before(){
        ioc = new ClassPathXmlApplicationContext("spring_ioc.xml");
    }

    @Test
    public void test(){
        User user = ioc.getBean("user", User.class);
        System.out.println(user);
    }
}
  • 引用外部资源文件,通过@Value注解来获取值
    在xml文件中引入外部文件
	<context:property-placeholder location="classpath:springIOC.properties" file-encoding="UTF-8"></context:property-placeholder>

创建springIOC.properties文件

spring.name=王二

在实体类中注入值

@Value("${spring.name}")
private String name;

这里有一个坑:因为这个类名是User,外部文件定义值的key如果用user.name,那么就取不到值。

  • 通过SpEL表达式进行赋值
    在user类中修改一下代码
@Value("#{student.name}")
    private String name;

添加实体类Student,并注入到bean容器中

@Component
public class Student {
    @Value("学生")
    private String name;

    public String getName() {
        return name;
    }

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

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

2.自动注入

@Autowired
private UserService userService;

通过@Autowired注解,实现自动注入
除了上面的注解外,还可以使用@Resource实现依赖注入,只是@Resource是JDK提供,而@Autowired是由spring提供

4.Bean的作用域

singleton:单例,只会在IOC容器中创建一次
prototype:多例,每次获取IOC容器都会new一个bean
在需要的类上添加如下注解:

@Scope("prototype")

5.生命周期回调

public class Student{
	 @PostConstruct
    public void init(){
        System.out.println("生命周期回调---初始化");
    }
    @PreDestroy
    public void destroy(){
        System.out.println("生命周期回调---销毁");
    }
}

6.懒加载

//true:在使用时,才会加载
@Lazy(value = true)
Spring IoC配置(注解+xml+DI) 0.配置思路文末有本篇文章的项目源码资源可供下载Spring通过使用@Autowired/@Value注解来完成依赖注入(DI)。引用数据类型:在将一个组件类对象注入到另一个组件类对象中时,可以在目标组件类的属性上直接使用@Autowired注解,Spring容器会自动为该属性提供合适的组件类对象实例。这样,无需手动在XML配置文件中指定依赖关系,Spring会根据@Autowired注解自动进行依赖注入。 阅读详情

相关推荐

Spring IOC 详解:基于 XML 配置与注解的依赖注入

Spring 框架是 Java 开发中最常用的框架之一,其核心思想之一是 IOC(Inversion of Control,控制反转)。IOC 的核心思想是将对象的创建和依赖关系的管理交给 Spring 容器来处理,从而降低代码的耦合度。本文将深入探讨 Spring IOC 的实现方式,重点讲解基于 XML 配置和基于注解的两种形式。

2401_84910501的博客 1192

Spring框架学习---Spring的IoC之xml和注解相结合模式

Spring框架学习—Spring的IoC之xml和注解相结合模式 注意: 第三方jar中的bean定义在xml中 <!--第三方jar中的bean定义在xml中--> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"> <property name="driverClassName" value="${jdbc.driver}"/> &l

qq_39314972的博客 181

BCM-BCP-DRP-运维管理之故障管理——故障的分类与处理流程

ITSM Business Continuity Manage(BCM) BusinessContinuityPlan(BCP) 偏业务 DisasterRecoveryPlan(DRP) 偏IT 天塌了,考虑在天塌了的状态下做什么,怎么开展业务就是BCP; 天塌了,考虑怎么把天撑回去,就是DRP。 DRP+BCP+供应链管理+危机管理等就是BCM (业务连续性管...

mmgithub123的博客 2722

SpringIOC应用之XML+注解模式

SpringIOC应用之XML+注解模式 xml+注解结合模式,xml⽂件依然存在,spring IOC容器的启动仍然从加载xml开始 那么哪些bean的定义写在xml中,哪些bean的定义使⽤注解 第三方jar中的bean定义在xml,⽐如德鲁伊数据库连接池 自己开发的bean定义使⽤注解 xml中标签与注解的对应(IOC) DI 依赖注⼊的注解实现方式(管理bean之间的依赖关系) @Autowired(推荐使⽤):采取的策略为按照类型注⼊。 /*这样装配会去spring容器中找到类型为Account

脑细胞:-D的博客 177

Java 开发打飞机小游戏(附完整源码)

上图 写在前面 技术源于分享,所以今天抽空把自己之前用java做过的小游戏整理贴出来给大家参考学习。java确实不适合写桌面应用,这里只是通过这个游戏让大家理解oop面向对象编程的过程,纯属娱乐。代码写的很简单,也很容易理解,并且注释写的很清楚了,还有问题,自己私下去补课学习。 完整代码 敌飞机 import java.util.Random; 敌飞机: 是飞行物,也是敌人 public class Airplane extends FlyingObject implements Enemy {

一只独孤的程序猿 1万+

Python高效转换病理图像:从mrxs到SVS的完整实践指南

本文提供了使用Python将数字病理切片从mrxs格式高效转换为SVS格式的完整实践指南。针对mrxs格式兼容性差的问题,文章详细解析了基于openslide和tifffile库的核心转换流程,并重点分享了应对大内存消耗的优化方案与流式处理技巧,确保转换后的SVS文件保留多分辨率金字塔结构,兼容主流病理分析工具。

weixin_29051811的博客 547

spring_IOC_注解和XML

Spring的IOC注解开发 学习基于注解的IOC配置,即注解配置和XML配置要实现的功能都是一样的,都是要降低程序间的耦合,只是配置的形式不一样。 关于实际开发中到底使用XML还是注解,每家公司都有不同的习惯,所以这两种配置方式都需要掌握。 1 注解开发入门 1.1 目标 ​ 能够编写Spring的IOC的注解配置 1.2 分析 创建工程,添加坐标 在类上添加@Component 在beans.xml开启注解的扫描 1.3 实现 创建maven工程,添加依赖 <?xml version="1.0

m0_55668402的博客 179

一个超酷的开源uHand2.0机械手掌项目

uHand2.0是深圳乐幻索尔公司开源的一款机械手掌,它长下面这个样子:1、uHand2.0外观图之前在公众号就分享过视频:学习嵌入式可以带娃,不信你们看2、uHand2.0硬件原理图看...

Bruce.yang的嵌入式之旅 4460

Spring框架IOC实现方式——xml + 注解 方式

xml+注解 结合模式:xml依然存在,所以sring IOC 容器的启动任然从加载xml开始,只是将第三方jar中的bean定义在xml中(如:德鲁伊数据库连接池),自己开发的备案定义使用注解。引入注解功能不需要映入额外的jar。 应用: 1、配置德鲁伊连接池 <!--引入外部资源文件--> <context:property-placeholder location="classpath:jdbc.properties"/> <bean id="druidDataSour

weixin_43878909的博客 281

WPF在特定领域的应用:打造一款专业的图像编辑工具

WPF在特定领域的应用:打造一款专业的图像编辑工具,在软件开发的广阔领域中,Windows Presentation Foundation(WPF)以其强大的图形渲染能力和丰富的用户界面控件,为开发者提供了构建高性能、美观应用程序的平台。图像编辑工具作为一种对图形处理要求极高的应用类型,WPF 的特性使其成为理想的选择。本文将深入探讨如何使用 WPF 打造一款专业的图像编辑工具,涵盖从基础概念到实际代码实现的各个方面。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 6万+

Winform从入门到精通(2)——Button(史上最全)

本文介绍winform中Button控件的详细用法,包括所有属性和事件

qq_34059233的博客 1万+

Spring IoC(基于xml和基于注解)

Spring的初衷: 1、JAVA EE开发应该更加简单。 2、使用接口而不是使用类,是更好的编程习惯。Spring将使用接口的复杂度几乎降低到了零。 3、为JavaBean提供了一个更好的应用配置框架。 4、更多地强调面向对象的设计,而不是现行的技术如JAVA EE。 5、尽量减少不必要的异常捕捉。 6、使应用程序更加容易测试。 核心容器 是Spring框架最基础的部分,它提供了依赖注入...

qq_45147812的博客 366

面向干净核心的并行扩展:SAP BTP 上的 side-by-side extensions 全面解读

摘要: SAP的side-by-side extensions是一种与核心系统解耦的云原生扩展模式,通过API和事件驱动实现与SAP S/4HANA等核心系统的松耦合集成。该模式支持独立升级、弹性扩展和高效创新,是SAP官方推荐的clean core关键实现路径。其典型架构包括接口层(OData/REST API、事件通道)、运行层(Cloud Foundry/Kyma/CAP框架)和体验层(Fiori/UI5)。适用场景包括需快速迭代、复用云服务或服务外部用户的业务扩展。实施时需关注安全治理(如XSUAA

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 304

Spring之IOC的xml配置与注解配置

spring是一个开源的Java开发框架。其核心为IOC与AOP。spring的IOC控制反转就是将对象的创建与对象之间依赖关系的维护交给spring容器进行管理,而spring如何管理对象,则通过下面两种方式。

m0_64926208的博客 1022

如何在Ubuntu 22.04系统上安装CUDA 12.9

本文提供Ubuntu22.04系统上安装CUDA12.9的简明指南:1)确认已安装适配575驱动;2)清理旧版本后安装必需依赖库;3)通过deb包方式添加英伟达源并安装CUDA12.9工具包;4)配置环境变量;5)通过nvcc-V和nvidia-smi命令验证安装。文中包含常见问题解决方法及多显卡使用说明,全程约需10分钟完成安装。

2501_93651177的博客 1480

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

使用xml和注解配置Spring ioc

使用xml和注解配置Spring ioc xml配置使用步骤 1.创建maven工厂,导入相关jar包。 spring-context mysql-connector-java spring-test commons-beanutils c3p0 junit commons-dbutils 2.创建实体类、持久层和业务层代码。(业务层中调用持久层的接口,不需申请对象,只声明和创建set方法即可(用于set注入)。持久层调用QueryRuner同理) 3.创建xml配置文件bean.xml。

weixin_43423541的博客 194

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

spring学习笔记:基于XML,注解,配置类的IOC搭建,以一个案例的方式展开

在学习IOC之前,我们先了解一个概念,耦合。耦合指的是程序间的依赖关系,比如类的依赖关系,方法的依赖关系,举个栗子,如果你new了一个对象,就建立了一个耦合关系。注意:我们不能消除程序间的依赖关系,只能尽可能的降低程序的依赖关系。这种降低程序间的依赖关系就叫做解耦。那如何解耦了?在实际开发中,我们应该做到在编译期不依赖,在运行期依赖。通过spring提供的IOC容器,可以将对象间的依赖关系交由 Spring 进行控制,避免硬编码所造成的过度程序耦合。

jocer_zhu的博客 1418

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

复习整理的DAY30_Spring IOC(xml配置与注解)

Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。 IOC是什么? IOC是Inversion of Control的缩写,翻译为控制反转。 什么叫控制反转? 要知道,原本我们创建对象,都是主动去new对象,也就是,需要什么,才去创建什么。 而现在,控制反转,指的就是我们将对象在外部容器中创建成功,用的时候,再取出来自己用。这个创建对象的过程不是我们主动的,我们只是被动的接受容器创建好的对象。 在Spring中IOC是在Spring容器中将对象创建成功,再通过set赋值

weixin_43185154的博客 402

Spring中IOC配置xml实现和IOC注解实现(转)

Spring中IOC配置xml实现和IOC注解实现                                                                         Spring中IOC配置xml实现和IOC注解实现                                                

qq_41586254的博客 576

Spring第一天Spring入门以及常见的一些注解和IOC以及讨厌的xml配置原理详解

Spring体系结构 包含核心容器,AOP springJDBCTemplate, springMVC,单元测试 先写一段最朴素的数据库查询代码 上面的代码是需要依赖mysql的jar包的,如果把mysql的依赖去掉,那程序在编译的时候,就会发生编译期错误,还没等到运行期,在编译期就会发生错误。这个代码的耦合性特别强,独立性特别差!!!在代码中直接用到了某个包,这样的代码依赖性特别强,没有这个包,那在编译期就会发生错误 换成上面的代码,如果没有MySQL的jar包,那么在编译期间就不会发生错误了,而是

russwest44的博客 726

Spring的(简单配置和讲解IOC和DI)使用xml、注解、java.创建对象实例。

IoC(控制反转)   首先想说说IoC(Inversion of Control,控制反转)。这是spring的核心,贯穿始终。所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系。这是什么意思呢,举个简单的例子,我们是如何找女朋友的?常见的情况是,我们到处去看哪里有长得漂亮身材又好的mm,然后打听她们的兴趣爱好、qq号、电话号、ip号、iq号………,想...

qq_41371858的博客 454

Spring IOC容器实战:从XML配置到注解驱动的完整转型指南

本文详细介绍了Spring IOC容器从XML配置到注解驱动的完整转型指南,通过电商系统用户服务案例演示了两种配置方式的本质差异和实际应用。文章深入解析了IOC容器的核心优势、XML配置与注解驱动的具体实现,并提供了渐进式迁移策略和最佳实践,帮助开发者高效完成配置方式转型。

weixin_42549451的博客 69

Spring学习总结(一)——对IOC的理解和配置使用(基于XML和基于注解)

一、Spring框架概述 Spring是一个非常活跃的开源框架, 它是一个基于IOC和AOP来构架多层JavaEE系统的框架,它的主要目地是简化企业开发。 Spring以一种非侵入式的方式来管理你的代码, Spring提倡“最少侵入”,这也就意味着你可以适当的时候安装或卸载Spring。 Spring采用独立的模块式开发,这样可以有选择的使用其中的模块,降低了业务对象的复杂性和组件之...

qq_40348465的博客 747

xml gridview控件增删改查_Spring 通过单表 CURD 认识配置 IOC的“两兄弟”(XML&注解)...

推荐阅读:闭关修炼21天,“啃完”283页pdf,我终于4面拿下字节跳动offer肺炎在家“闭关”,阿里竟发来视频面试,4面顺利拿下offer开篇絮叨前面一篇文章花大量内容,重点学习了 Spring入门 的一些思想,以及简单的学习了 IOC基础 以及基于基于 XML 的配置方式,大家应该清楚,XML与注解常常是形影不离的,他们就像一对双胞胎,但兄弟两个的想法都是一致的,那就是帮助开发者实现想要的功...

weixin_39812186的博客 58

Spring中IOC配置xml实现和IOC注解实现

1.什么是spring spring 是分层的JavaSE/EE轻量级应用开源框架,已控制反转IOC和面向切面编程AOP为核心,提供了展现层SpringMVC, 和持久层Srping JDBC以及事务管理等。 2.特点 方便解耦,简化开发 spring提供ioc容器,可以将对象之间的依赖关系交给spring控制,避免硬编码所造成的过度程序耦合。 AOP编程支持 通过s

简书的专栏 9664

Spring学习——day1:基于XML的配置和注解方式实现IOC

通过SpringIOC实现程序解耦 IOC作用:降低程序的耦合(依赖关系) 例子: 1、创建maven工程,在pom.xml里引入dependency <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.2.RELEASE</version&

qq_28933803的博客 259
上一篇: Spring IOC基于XML配置使用
下一篇: Spring IOC基于javaconfig配置使用
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值