spring 详解

来源:互联网 发布:思科网络大赛 编辑:程序博客网 时间:2024/06/11 12:26

一、Spring入门:spring是管理bean的IOC容器-实例化bean的容器

1, 定义:

Spring是一个基于IOC和AOP来构架多层JavaEE系统的开源框架。
Spring以一种非侵入式的方式来管理你的代码;Spring提倡”最少侵入”,这也就意味着你可以适时地安装或卸载Spring。
Spring模块:
spring整体模块
bean容器

2, 控制反转(IOC:Inversion of Control)(对象由外部容器重点内容运行时传入):

所谓控制反转就是应用程序本身不负责’依赖对象’的创建及维护,而依赖对象的创建及维护是由’外部容器(spring)’负责的,是外部容器传入给应用程序的,而不需要自身获取或new一个依赖对象(父母包办式)。这样控制权就由应用程序本身转移到了外部容器:控制权的转移就是所谓反转,目的是为了获得更好的可扩展性和良好的可维护性(解决应用程序和依赖对象间的耦合性)。

  • 控制反转是相于对在程序中直接new对象(表梅竹马式:硬代码写入)而言的,它的控制权完成在应用程序手中,程序间的耦合性太高

3, 依赖注入(Dependency Injection):

控制反转式的程序设计, 即将’依赖对象’交给’外部容器’创建,则此时程序’依赖外部容器’将其创建维护的对象适时的传入,这便是依赖注入。
定义:在运行期,由外部容器动态地将依赖对象注入到组件中。

4, Spring实现IOC/DI的具体步骤:

4.1, 引用jar包:

dist\spring.jar–spring核心类库
lib\jakarta-commons\commons-logging.jar —-第三方日志包
lib\aspectj\aspectjweaver.jar和aspectjrt.jar –切面编程(AOP)
lib\cglib\cglib-nodep-2.1_3.jar –切面编程(AOP)
lib\j2ee\common-annotations.jar –JSR-250注解
注:JSR(Java 规范请求)是指向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求。任何人都可以提交JSR(Java 规范请求),以向Java平台增添新的API和服务。JSR已成为Java界的一个重要标准。
4.2, 创建spring容器(beans.xml)

1, Spring容器配置文件原名:applicationContext.xml,开发中我们一般将其命名为beans.xml: ,并将其放置在类路径下.2, Spring的配置文件可以指定多个,可以通过String数组传入。
<beans xmlns="http://www.springframework.org/schema/beans" //默认名称空间,xml引入spring的schema约束,以使用spring定义的标签和属性。xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"//受任何schema约束的xml都作为schema的实例存在,需引用规范中针对实例的schema约束,以 使用规范中定义的属性:我们主要是使用规范中xsi:schemaLocation属性来声明spring的schma约束文件的具体位置。xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">...</beans>
3, 在spring容器(beans.xml)中配置bean由spring容器管理.(IOC)![这里写图片描述](http://img.blog.csdn.net/20170619155435958?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGVsbG90aGVqYXZh/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)4, 在spring容器中配置bean间(一bean作为app,一bean作为被注入的依赖对象)的注入(di)

这里写图片描述
5, 从spring容器中获取bean;spring在初使化时,将boy对象注入给girl对boy属性。
这里写图片描述

5, 实例化Spring容器的两种方式(加载beans.xml文件):

方法一: 在类路径下加载配置文件(可在整个类路径中加载xml文件)
ApplicationContext ctx = new ClassPathXmlApplicationContext(new String[]{“beans.xml”});
方法二: 在文件系统路径下加载配置文件:(绝对路径)
ApplicationContext ctx = new FileSystemXmlApplicationContext(new String[]{“d:\beans.xml“});
* Spring的配置文件可以指定多个,可以通过String数组传入。
未完待续。。。。。。

原创粉丝点击