黑马程序员spring知识总结 技术帖

更新时间:2023-09-12 10:19:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Spring框架

一、技术说明(技术介绍,技术优势以及发展史等) 1.1、什么是spring

?

Spring是分层的JavaSE/EE full-stack 轻量级开源框架 分层:三层体系结构,为每一个层都提供解决方案 web层:struts2、spring-mvc service层:spring dao层:hibernate、mybatis、jdbcTemplate(spring) 轻量级:使用时占用资源少,依赖程序少。比较:EJB

1.2、spring由来

Expert One-to-One J2EE Design and Development ,介绍EJB,使用,特点 Expert One-to-One J2EE Development without EJB ,不使用EJB,spring思想

1.3、spring核心

? 以IoC(Inverse of Control 反转控制)和AOP(Aspect Oriented Programming 面向切面编

程为内核)

1.4、spring优点

? 方便解耦,简化开发 (易扩展,易维护)

? ? ? ? ? Spring就是一个大工厂,可以将所有对象创建和依赖关系维护,交给Spring管理 Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能 只需要通过配置就可以完成对事务的管理,而无需手动编程 Spring对Junit4支持,可以通过注解方便的测试Spring程序 ? AOP编程的支持 ? 声明式事务的支持 ? 方便程序的测试 ? 方便集成各种优秀框架 Quartz等)的直接支持 ? 降低JavaEE API的使用难度 ? 这些API应用难度大大降低 Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts、Hibernate、MyBatis、Spring 对JavaEE开发中非常难用的一些API(JDBC、JavaMail、远程调用等),都提供了封装,使 1.5、spring体系结构

? spring 核心功能:beans、core、context、expression

二、环境搭建(技术开发环境) 2.1、获取 Spring framework jar 包 1、spring官网下载

从官网下载spring 最新的相关jar包,官网http://www.springsource.org/springcommunity-download

download

地址

下载完成后会发现三个目录,命名很明确。 Docs 目录相关文档。包括一份 API 和一份各种 spring 的使用说明(reference),reference 提供了 HTML.PDF 版本,非常详细。

2.spring包的核心包

搭建第一个用到 spring 依赖注册的程序 直接用 eclipse 建立一个 JAVA 项目 然后添加 spring 的 jar 包引入

spring-core-3.2.0.M1.jar 核心依赖 jar 包 spring-context-3.2.0.M1.jar Spring 容器包

spring-beans-3.2.0.M1.jar Spring beans 的管理包 spring-asm-3.2.0.M1.jar Spring

注:和 hibernate 一起用时这个 JAR 会冲突,解决方法删掉它就是了

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;) Caused by: java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)

spring-expression-3.2.0.M1.jar

除此之外,还有需要一个 Apache common 的 JAR 包

注:如果忘记添加会 commons-logging-1.1.1.jar 报错

Exception in thread \ commons-logging-1.1.1.jar 日志记录

3. 配置 XML

Spring 的最大的作用就是提供 bean 的管理功能,在 spring 中 bean 的管理是通过 XML 实现的,要 用此功能,需要把 bean 配置到 spring 的 xml

1. 新建立一个 xml.名字任意,如 applicationContext.xml,或者 text.xml 都可以 2. 添加 xml 头定义

② ① Xmlns(XML NameSpace) 声明命名空间,建议是用网址做命名空间,但并不会去访问改

网址, 仅仅是 namespace 和 xsd(xsd 是 spring 这个 xml 的 schema 文件,里面定义配置内容)里 声明的 targetNamespace 保持一致 . 注:这里命名空间是改不了的,其实是在代码中也写死了,可以打开 spring-beans3.2.0.M1-sources.jar 包的 org\\springframework\\beans\\factory\\xml\\BeanDefinitionParserDelegate.java 查看对 http://www.springframework.org/schema/beans这个namespace的定义。

② schemaLoacation .用于绑定命名空间的 schema 文件,通常是用 URL 值对,中间用空格隔 开,前面 URL 是命名空间,后面 URL 为 schema 的文件地址 ③ xsd 的存放地址,如果没有声明,eclipse 会去网上下载. 在创建 xml 时,在 eclipse 编辑 xml 配置没有提示。 可以对 eclipse 中进行 schema 文件的添加

具体是

Windows?Preferences ,搜索 XML catalog,添加 schema 文件。 Spring 的 schema 文件在下载包里有,找到

spring-3.2.0.M1\\schema\\beans\\spring-beans-3.2.xsd 然后添加,编写 spring 配置文件就能有提示了

4. 依赖注入

4.1 、spring注入的简单案例(入门级)

新建一个 class 用于注入,

package org.beans; public class Test { public void say(){ System.out.println(\ 把类通过 xml 配置注入

本文来源:https://www.bwwdw.com/article/3pmh.html

Top