您的位置:首页 > 编程语言 > Java开发

Spring入门1-基本概念

2016-04-24 15:14 597 查看

一、spring概念

Spring是一个轻量级的控制反转(IOC-inverse Object Control)和面向切面(AOP)的容器框架。

spring的设计思想:单例模式和工厂模式

二、spring的框架优点

方便解耦,简化开发

Spring就是一个大工厂,将所有对象创建和依赖关系维护,交给spring管理

AOP编程支持

Spring提供面向切面编程,方便实现对程序进行权限拦截、运行监控等功能

声明式事务的支持

只需要通过配置就可以完成对事务的管理,无需手动编程

方便程序测试

spring对junit4支持,可以通过注解方便的测试spring程序

方便继承各种优秀开源框架

spring其内部提供了对各种优秀框架的支持(struts 、 hibernate、mybatis)

降低javaEE API的使用难度

Spring对javaEE开发中非常难用的一些API(JDBC、远程调用等)都提供了封装,使API的使用难度降低

三、Spring技术知识点

核心技术IOC和AOP

数据访问(持久层解决方案)

web层解决方案(SpringMVC)

集成(整合其他开源框架)

四、入门前期概念

IOC控制反转和DI(depedent Inject)依赖注入

IOC:将原本在程序中手动创建的HelloService对象的控制权交给Spring框架管理,简单说,就是创建HelloService对象控制权被反转到了Spring框架。

DI:依赖注入(构造方法注入,set注入)通过配置进行注入

IOC 和 DI 的区别

IOC控制反转指将对象的创建权反转到了spring容器,DI依赖注入指spring创建对象的过程中,将对象依赖属性通过配置文件进行注入。

Spring工厂接口

BeanFactory接口和ApplicationContext接口区别?

(1) ApplicationContext接口继承BeanFactory接口,Spring核心工厂是BeanFactory, BeanFactory采取延迟加载,第一次getBean时才会初始化Bean,ApplicationContext是会在加载配置文件时,初始化Bean

(2)ApplicationContext是对BeanFactory扩展,(国际化处理,事件传递 Bean自动装配 各种不同应用层的Context实现)

开发中基本都用ApplicationContext,web项目用WebApplicationContext,很少用到BeanFactory

ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml" );
UserService userService = (UserService)ctx.getBean("userService" );
User u = new User();
userService.add(u);


五、Spring配置步骤

1.下载Spring最新开发包

http://www.springsource.org/download/community 下载spring3.2 的开发包。目录结构如下:

docs 存放API和 规范文档

libs 开发jar包

schemas 开发过程中需要导入xml的schema 约束

2、复制Spring开发 jar包到工程

复制核心容器包含jar包 (beans、core、context、expression language)

spring 的 jar包 需要依赖 commons-logging的 jar (commons-logging 类似 slf4j 是通用日志组件,需要整合 log4j )

3、编写Spring核心xml配置文件

在src目录创建 applicationContext.xml

在 docs\spring-framework-reference\html 找到 xsd-config.html

4、在程序中读取Spring配置文件

通过Spring框架获得Bean,完成相应操作。加载classpath(src):

new ClassPathXmlApplicationContext(“applicationContext.xml”);

5、创建Spring 核心工厂对象

通过工厂的getBean 获得配置实例对象 (UserService ) applicationContext.getBean(“userService “);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: