Spring学习(1)

来源:互联网 发布:时间轴软件 编辑:程序博客网 时间:2024/06/05 15:41

一、什么是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容器,而不是人为的去实例化,这就是所谓的“控制反转”了。我们的属性是直接配置在容器中的,这体现了“注入”的特点。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 通过支付宝扫码被骗了怎么办 支付宝扫二维码被骗怎么办 在is上被骗了怎么办 微信兼职被骗怎么办天涯论坛 公众号不给稿费怎么办 围绕服务改善民生提出怎么办 翰墨香林苑怎么办全产权 西城高铁联名卡怎么办 英语教学系统做题时超时了怎么办 sci被要求撤稿怎么办 论文投稿后初审通过想撤稿怎么办 河南大学读写译挂了怎么办 在职mba双证硕士怎么办户口 电脑开机了出现一些英文单词怎么办 不懂法语想读法语书怎么办 大鱼号文章需要修改怎么办 过了上诉期怎么办申诉 法院判刑后被告逃亡监护人怎么办 二审判决后不服的怎么办 对树木对生物花草过敏怎么办 高一英语成绩差怎么办 文章被同时录用该怎么办 来不及开ei检索证明怎么办 淘宝生产许可编号一定要填怎么办 官网下单被砍单怎么办美卡美私 大学网络课程挂了怎么办 如果二审超过6个月还不判怎么办? sci的proof时间超了怎么办 合肥电大考试没过怎么办 社保账号密码忘记了怎么办 住房公积金账号密码忘记了怎么办 燃气费单子丢了怎么办 商标初审公告期内被异议怎么办 手被山药痒了怎么办 9个月宝宝不吃奶粉怎么办 八个月宝宝拉粑粑费劲怎么办? 两个月小孩不吃奶粉怎么办 两个月的小孩不吃奶粉怎么办 两个多月宝宝不吃奶怎么办 三个多月宝宝不爱吃奶怎么办 4个月宝宝不吃奶怎么办