Spring学习(1)

本文介绍了Spring框架的基本概念,包括如何配置bean以及使用Spring容器管理对象之间的依赖关系。通过一个简单的示例,展示了Spring如何通过反射机制实例化对象并设置属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、什么是Spring
简单来说,Spring就是一种框架容器。他可以用来配置bean并且维护bean与bean之间的关系。
我们可以用下面的层次图来表示。
Spring层次图

二、开发一个Spring项目
我们要调用一个对象的方法。 使用传统的方法,我们都知道,就是实例化一个对象,然后直接调用即可。那么,我们用Spring来做的话,是怎样的呢?

步骤:
a、引入Spring的开发包(spring.jar和common-logging.jar)。Spring不仅可以应用在web项目中,普通的java项目中也是可以使用Spring的。

新建项目

导入jar包

b、创建Spring的一个核心文件applicationContext.xml,该文件一般放在src目录下,该文件中引入xsd文件:相应的代码可以从模板中复制。当我们把名字命名为“applicationContext.xml”后,文件的标识会变成一个绿叶子。

创建配置文件

引入xsd文件

c、配置 bean
bean元素的作用是,当我们的Spring框架加载的时候,Spring就会自动创建一个bean对象,并放入内存。这就相当于用配置的方法实例化了一个对象。比如说用常规的方式:

  UserService userService = new  UserService();

在配置文件中,bean的id就相当于你实例化的对象的引用(不允许有两个相同id的bean存在),class当然就是这个对象所属的类(在这里我要说一下,因为我用的是myeclipse10.7,所以不能直接在 这个类上右键选择“Copy Qualified Name”来复制类的全名,而是将这个类打开,在类名上右键选择“Copy Qualified Name”)。实例化好了对象,接下来是对对象的属性进行操作。用常规的方式就是:

  UserService.setName("曼修");

在Spring中,property的name,就是你在bean(在这个例子中就是UserService)中的属性,不能随便写,要与其保持一致。在value中,我们需要对这个属性进行赋值。这样就完成了一个简单的bean的配置。

简单的bean配置

当我们运行的时候,确实能够像用常规的方式那样得到正确的结果。

这里写图片描述
当然,如果我们深究一下,Spring是怎样实现的这种效果的呢?从配置文件中我们可以看到,有class的全限定路径名,想到了什么?对了!就是反射!Spring通过反射机制,读取类名(rogue.service.UserService),然后通过id加载实例(userService),最后调用set方法(setName),将属性(“name”)赋值(“曼修”),这就是他的运行机制了。

从上面的小例子中可以看出,我们将创建实例的权利交给了Spring容器,而不是人为的去实例化,这就是所谓的“控制反转”了。我们的属性是直接配置在容器中的,这体现了“注入”的特点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值