Spring学习(1)
来源:互联网 发布:时间轴软件 编辑:程序博客网 时间:2024/06/05 15:41
一、什么是Spring
简单来说,Spring就是一种框架容器。他可以用来配置bean并且维护bean与bean之间的关系。
我们可以用下面的层次图来表示。
二、开发一个Spring项目
我们要调用一个对象的方法。 使用传统的方法,我们都知道,就是实例化一个对象,然后直接调用即可。那么,我们用Spring来做的话,是怎样的呢?
步骤:
a、引入Spring的开发包(spring.jar和common-logging.jar)。Spring不仅可以应用在web项目中,普通的java项目中也是可以使用Spring的。
b、创建Spring的一个核心文件applicationContext.xml,该文件一般放在src目录下,该文件中引入xsd文件:相应的代码可以从模板中复制。当我们把名字命名为“applicationContext.xml”后,文件的标识会变成一个绿叶子。
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的配置。
当我们运行的时候,确实能够像用常规的方式那样得到正确的结果。
当然,如果我们深究一下,Spring是怎样实现的这种效果的呢?从配置文件中我们可以看到,有class的全限定路径名,想到了什么?对了!就是反射!Spring通过反射机制,读取类名(rogue.service.UserService),然后通过id加载实例(userService),最后调用set方法(setName),将属性(“name”)赋值(“曼修”),这就是他的运行机制了。
从上面的小例子中可以看出,我们将创建实例的权利交给了Spring容器,而不是人为的去实例化,这就是所谓的“控制反转”了。我们的属性是直接配置在容器中的,这体现了“注入”的特点。
- Spring学习(1)
- spring学习(1)
- Spring学习(1)
- Spring学习(1)
- spring学习(1)
- Spring 学习(1)
- Spring基础学习-(1)Spring基础知识
- spring 学习笔记(1)--模拟spring
- Spring学习笔记(1)---------初识Spring
- [Spring]Spring AOP学习笔记(1)
- Spring学习(1)------初识Spring
- spring学习笔记(1)
- spring学习笔记(1)
- Spring框架 学习(1)
- Spring框架学习(1)
- Spring-学习笔记(1)
- Spring学习-----AOP(1)
- spring学习笔记(1)
- 蒙特卡罗算法入门
- 关于jquery做文字翻滚效果
- 用户登录成功自动跳转页面
- Flex 布局教程:语法篇
- java IO 基于模板文件替换字符生成word文档
- Spring学习(1)
- 微信公众号代码推送
- oracle常用语句自动补齐
- 搭建一个开发Predix软件的Ubuntu 系统(2)配置使用Predix工业云平台的基础环境
- scala String to Int
- 抽象工厂模式(python)
- C#异步执行操作Helper
- 小试牛刀 - WordCount
- 建了一个新的常州程序员QQ群118942863 欢迎加入~