1 Spring框架的概述:

1.1 什么是Spring:

Spring是分层的JavaSE/EE full-stack(一站式) 轻量级开源框架

* 分层:

* SUN提供的EE的三层结构:web层、业务层、数据访问层(持久层,集成层)

* Struts2是web层基于MVC设计模式框架.

* Hibernate是持久的一个ORM的框架.

* 一站式:

* Spring框架有对三层的每层解决方案:

* web层:Spring MVC.

* 持久层:JDBC Template

* 业务层:Spring的Bean管理.

1.2 Spring的核心:

IOC:(Inverse of Control 反转控制)

* 控制反转:将对象的创建权,交由Spring完成.

AOP:Aspect Oriented Programming 是 面向对象的功能延伸.不是替换面向对象,是用来解决OO中一些问题.

IOC:控制反转.

1.3 Spring的版本:

Spring3.x和Spring4.x  Spring4需要整合hibernate4.

1.4 EJB:企业级JavaBean

EJB:SUN公司提出EE解决方案.

2002 : Expert One-to-One J2EE Design and Development

2004 : Expert One-to-One J2EE Development without EJB (EE开发真正需要使用的内容.)

1.5 Spring优点:

方便解耦,简化开发

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

AOP编程的支持

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

声明式事务的支持

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

方便程序的测试

* Spring对Junit4支持,可以通过注解方便的测试Spring程序

方便集成各种优秀框架

* Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支持

降低JavaEE API的使用难度

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

2 Spring的入门的程序:

2.1 下载Spring的开发包:

spring-framework-3.2.0.RELEASE-dist.zip---Spring开发包

* docs:spring框架api和规范

* libs:spring开发的jar包

* schema:XML的约束文档.

spring-framework-3.0.2.RELEASE-dependencies.zip---Spring开发中的依赖包

2.2 创建web工程引入相应jar包:

spring-beans-3.2.0.RELEASE.jar

spring-context-3.2.0.RELEASE.jar

spring-core-3.2.0.RELEASE.jar

spring-expression-3.2.0.RELEASE.jar

开发的日志记录的包:

com.springsource.org.apache.commons.logging-1.1.1.jar--- 用于整合其他的日志的包(类似Hibernate中slf4j)

com.springsource.org.apache.log4j-1.2.15.jar

2.3 创建Spring的配置文件:

在src下创建一个applicationContext.xml

引入XML的约束:

* 找到xsd-config.html.引入beans约束:

<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans " >http://www.springframework.org/schema/beans/spring-beans.xsd">

2.4 在配置中配置类:

<bean id="userService" class="com.sihai.spring3.demo1.HelloServiceImpl"></bean>

1.2.5 创建测试类:

@Test// Spring开发public void demo2() {// 创建一个工厂类.ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");HelloService helloService = (HelloService) applicationContext.getBean("userService");helloService.sayHello();}

2.6 IOC和DI区别

IOC:控制反转:将对象的创建权,由Spring管理.

DI:依赖注入:在Spring创建对象的过程中,把对象依赖的属性注入到类中.

* 面向对象中对象之间的关系;

* 依赖:

public class A{

private B b;

}

* 继承:is a

* 聚合:

* 聚集:

* 组合:

2.7 Spring框架加载配置文件:

ApplicationContext 应用上下文,加载Spring 框架配置文件

加载classpath:

new ClassPathXmlApplicationContext("applicationContext.xml");:加载classpath下面配置文件.

加载磁盘路径:

new FileSystemXmlApplicationContext("applicationContext.xml");:加载磁盘下配置文件.

2.8 BeanFactory与ApplicationContext区别

ApplicationContext类继承了BeanFactory.

BeanFactory在使用到这个类的时候,getBean()方法的时候才会加载这个类.

ApplicationContext类加载配置文件的时候,创建所有的类.

ApplicationContext对BeanFactory提供了扩展:

* 国际化处理

* 事件传递

* Bean自动装配

* 各种不同应用层的Context实现

***** 早期开发使用BeanFactory.

2.9 MyEclipse配置XML提示:

Window--->xml catalog--->add 找到schema的位置 ,将复制的路径 copy指定位置,选择schema location.

Spring教程--入门程序相关推荐

  1. 跟老杜手撕Spring6教程(三)Spring的入门程序

    Spring的入门程序 本篇文章详细介绍下Spring的下载,上篇说了Spring八大模块及特点详解 跟老杜手撕Spring6教程(二)Spring八大模块及特点详解_ewertyucf的博客-CSD ...

  2. 【Spring】Spring教程入门到精通

    文章目录 1.前言 2.Spring 2.1 Spring的优点 2.2 Spring下载配置 3.IOC 3.1 IOC的处理过程 3.2 IOC底层原理 3.3 IOC接口 3.4 IOC操作Be ...

  3. Lucene教程--入门程序详解

    Lucene 入门程序 1 需求 实现一个歌词搜索系统,通过关键字搜索,凡是文件名或文件内容包括关键字的文件都要找出来. 注意:该入门程序只对文本文件(.txt)搜索. 2 开发环境 Jdk:1.7. ...

  4. spring boot基础教程:入门程序Hello World的编写

    前言 随着各种开源的第三方的组件爆发式增长,java的开发显得越来越笨重:繁多的配置,低下的开发效率,复杂的部署流程以及第三方技术集成难度大. 在上述环境下,Spring Boot应运而生.它使用&q ...

  5. 简单的Spring MVC入门程序,对于Spring mvc工作流程的理解,servlet标签和servlet-mapping 理解,视图解析器

    javaweb SpringMvc的组成:jsp,JavaBean,servlet 可以使用Spring所提供的功能 提供了前端控制器DispatcherServlet,不需要细化Servlet 执行 ...

  6. Spring Boot 入门程序

    Spring Boot简介 Spring Boot是Spring在2014年的时候伴随着Spring4.0系列开发的一站式解决方案.整个知识点可以从Spring官网上看到,Spring Boot 简化 ...

  7. Spring Boot基础学习笔记01:Spring Boot入门程序

    文章目录 零.学习目标 1.了解Spring Boot框架的优点 2.掌握使用Maven方式构建Spring Boot项目 3.掌握使用Spring Initializr方式构建Spring Boot ...

  8. java mvc框架代码_JAVA技术学习笔记:SpringMVC框架(内附入门程序开发代码)

    原标题:JAVA技术学习笔记:SpringMVC框架(内附入门程序开发代码) JavaEE体系结构包括四层,从上到下分别是应用层.Web层.业务层.持久层.Struts和SpringMVC是Web层的 ...

  9. JAVAWEB开发之Spring详解之——Spring的入门以及IOC容器装配Bean(xml和注解的方式)、Spring整合web开发、整合Junit4测试

    Spring框架学习路线 Spring的IOC Spring的AOP,AspectJ Spring的事务管理,三大框架的整合 Spring框架概述 什么是Spring?  Spring是分层的Java ...

最新文章

  1. R语言str_extract函数从字符串中抽取匹配模式的字符串
  2. 【深度学习】深度神经网络框架的探索(从Regression说起)
  3. WPF 的Listbox 滚动处理
  4. jsp 中提交表单后在firefox、chrome 中中文显示为正常,但在IE中中文显示为乱码?...
  5. (27)VHDL实现非(数据流描述)
  6. python学习笔记(五)字符串函数二
  7. Pandas 秘籍·翻译完成
  8. 敏捷开发绩效管理之六:敏捷开发生产率(中)(功能点分析,FPA,简化的功能点)...
  9. Python Selenium系列学习
  10. 神经损伤怎么康复好 成都顾连康复医院专科专治
  11. 【GlobalMapper精品教程】005:影像拼接与裁切(分幅)作业案例教程
  12. Dorado7 DataGrid变颜色 自定义渲染
  13. 从NC程序中提取路径点的XYZ
  14. 2016年全国房价会呈什么趋势?
  15. js 调用谷歌插件截图跨域的iframe---FireShot
  16. lattice学习笔记(一)
  17. element-ui中table 去掉表头、去掉边框线、去掉鼠标悬停背景颜色
  18. 优化计算机组策略,7种优化技巧优化Windows 10系统 提高电脑性能
  19. 决定物联网安全的有哪些因素
  20. 单列集合Collection接口

热门文章

  1. 从表达式到函数:表面的简洁
  2. 资源在另一个编辑器中打开的错误处理办法
  3. MATLAB随机信号统计特征
  4. java获取被占用的文件进程_java – 进程无法访问该文件,因为它正被另一个进程使用...
  5. C++ Primer 5th笔记(chap 16 模板和泛型编程)模板实参推断和引用
  6. kubernetes (1)基本概念
  7. MySQL—相关子查询
  8. [crypto]-10-openssl版本介绍
  9. Git常见报错及解决方法
  10. MFC 图片部分透明