Spring入门1-基本概念
来源:互联网 发布:希尔排序算法流程图 编辑:程序博客网 时间:2024/05/16 04:57
一、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 “);
- Spring入门1-基本概念
- 5、spring 入门—Spring AOP基本概念
- 算法入门1:基本概念
- Spring学习1--基本概念
- 慕课网学习spring入门篇-AOP基本概念
- UML轻松入门--基本概念(1)
- Openssl入门--1--基本概念了解
- DBus入门实践(1): 基本概念
- Spring入门(一)——基本概念学习
- Spring基本概念
- Spring基本概念
- Spring基本概念
- spring基本概念
- spring基本概念
- mencached入门(1)--memcached的基本概念
- 数据结构与算法入门(1)--基本概念
- 1、数据结构笔记之一入门基本概念
- openGL之glsl入门1--基本概念
- docker常用命令的使用
- Android小呆萌——联系人信息维护
- Win10 64位 + VS2015 下的 OpenCV3.1.0 配置详解
- Swift简介
- 集群资源共享的三种方式
- Spring入门1-基本概念
- Node.js回调概念
- Linux进程与线程的区别
- listview的某个item点击显示或隐藏的错乱问题解决方法
- js document.body.scrollTop的用法
- 《python+opencv学习》一、Gui Features in Opencv(1)读入、保存图片
- 查找第一次只出现一次的字符
- Node.js npm
- Android中的contentProvider