Spring教程--入门程序
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教程--入门程序相关推荐
- 跟老杜手撕Spring6教程(三)Spring的入门程序
Spring的入门程序 本篇文章详细介绍下Spring的下载,上篇说了Spring八大模块及特点详解 跟老杜手撕Spring6教程(二)Spring八大模块及特点详解_ewertyucf的博客-CSD ...
- 【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 ...
- Lucene教程--入门程序详解
Lucene 入门程序 1 需求 实现一个歌词搜索系统,通过关键字搜索,凡是文件名或文件内容包括关键字的文件都要找出来. 注意:该入门程序只对文本文件(.txt)搜索. 2 开发环境 Jdk:1.7. ...
- spring boot基础教程:入门程序Hello World的编写
前言 随着各种开源的第三方的组件爆发式增长,java的开发显得越来越笨重:繁多的配置,低下的开发效率,复杂的部署流程以及第三方技术集成难度大. 在上述环境下,Spring Boot应运而生.它使用&q ...
- 简单的Spring MVC入门程序,对于Spring mvc工作流程的理解,servlet标签和servlet-mapping 理解,视图解析器
javaweb SpringMvc的组成:jsp,JavaBean,servlet 可以使用Spring所提供的功能 提供了前端控制器DispatcherServlet,不需要细化Servlet 执行 ...
- Spring Boot 入门程序
Spring Boot简介 Spring Boot是Spring在2014年的时候伴随着Spring4.0系列开发的一站式解决方案.整个知识点可以从Spring官网上看到,Spring Boot 简化 ...
- Spring Boot基础学习笔记01:Spring Boot入门程序
文章目录 零.学习目标 1.了解Spring Boot框架的优点 2.掌握使用Maven方式构建Spring Boot项目 3.掌握使用Spring Initializr方式构建Spring Boot ...
- java mvc框架代码_JAVA技术学习笔记:SpringMVC框架(内附入门程序开发代码)
原标题:JAVA技术学习笔记:SpringMVC框架(内附入门程序开发代码) JavaEE体系结构包括四层,从上到下分别是应用层.Web层.业务层.持久层.Struts和SpringMVC是Web层的 ...
- JAVAWEB开发之Spring详解之——Spring的入门以及IOC容器装配Bean(xml和注解的方式)、Spring整合web开发、整合Junit4测试
Spring框架学习路线 Spring的IOC Spring的AOP,AspectJ Spring的事务管理,三大框架的整合 Spring框架概述 什么是Spring? Spring是分层的Java ...
最新文章
- R语言str_extract函数从字符串中抽取匹配模式的字符串
- 【深度学习】深度神经网络框架的探索(从Regression说起)
- WPF 的Listbox 滚动处理
- jsp 中提交表单后在firefox、chrome 中中文显示为正常,但在IE中中文显示为乱码?...
- (27)VHDL实现非(数据流描述)
- python学习笔记(五)字符串函数二
- Pandas 秘籍·翻译完成
- 敏捷开发绩效管理之六:敏捷开发生产率(中)(功能点分析,FPA,简化的功能点)...
- Python Selenium系列学习
- 神经损伤怎么康复好 成都顾连康复医院专科专治
- 【GlobalMapper精品教程】005:影像拼接与裁切(分幅)作业案例教程
- Dorado7 DataGrid变颜色 自定义渲染
- 从NC程序中提取路径点的XYZ
- 2016年全国房价会呈什么趋势?
- js 调用谷歌插件截图跨域的iframe---FireShot
- lattice学习笔记(一)
- element-ui中table 去掉表头、去掉边框线、去掉鼠标悬停背景颜色
- 优化计算机组策略,7种优化技巧优化Windows 10系统 提高电脑性能
- 决定物联网安全的有哪些因素
- 单列集合Collection接口