一、认识Spring框架
Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。(使用spring不需要继承spring的任何类,任何接口);
spring本身就是一个IOC容器;
spring核心功能:
- IOC(控制反转、控制反向和控制倒置):IOC理论提出的观点大体是这样的:借助于“第三方”实现具有依赖关系的对象之间的解耦;
- AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。
二、Spring的jar包
Spring AOP:Spring的面向切面编程,提供AOP(面向切面编程)的实现
Spring Aspects:Spring提供的对AspectJ框架的整合
Spring Beans:Spring IOC的基础实现,包含访问配置文件、创建和管理bean等。
Spring Context:在基础IOC功能上提供扩展服务,此外还提供许多企业级服务的支持,有邮件服务、任务调度、JNDI定位,EJB集成、远程访问、缓存以及多种视图层框架的支持。
Spring Context Support:Spring context的扩展支持,用于MVC方面。
Spring Core:Spring的核心工具包
Spring expression:Spring表达式语言
Spring Framework Bom:
Spring Instrument:Spring对服务器的代理接口
Spring Instrument Tomcat:Spring对tomcat连接池的集成
Spring JDBC:对JDBC 的简单封装
Spring JMS:为简化jms api的使用而做的简单封装
Spring Messaging:
Spring orm:整合第三方的orm实现,如hibernate,ibatis,jdo以及spring 的jpa实现
Spring oxm:Spring对于object/xml映射的支持,可以让JAVA与XML之间来回切换
Spring test:对JUNIT等测试框架的简单封装
Spring tx:为JDBC、Hibernate、JDO、JPA等提供的一致的声明式和编程式事务管理。
Spring web:包含Web应用开发时,用到Spring框架时所需的核心类,包括自动载入WebApplicationContext特性的类、Struts与JSF集成类、文件上传的支持类、Filter类和大量工具辅助类。
Spring webmvc:包含SpringMVC框架相关的所有类。包含国际化、标签、Theme、视图展现的FreeMarker、JasperReports、Tiles、Velocity、XSLT相关类。当然,如果你的应用使用了独立的MVC框架,则无需这个JAR文件里的任何类。
Spring webmvc portlet:Spring MVC的增强
其中最基本的jar包为:
Spring Beans:Spring IOC的基础实现,包含访问配置文件、创建和管理bean等。
Spring Context:在基础IOC功能上提供扩展服务,此外还提供许多企业级服务的支持,有邮件服务、任务调度、JNDI定位,EJB集成、远程访问、缓存以及多种视图层框架的支持。
Spring Core:Spring的核心工具包
Spring expression:Spring表达式语言
commons-logging-1.1.3.jar:该包在Spring的jar中没有,但是所有的框架都需要次包,该包为书写日志文件包
三、Spring的jar导入Eclipce
- 右键项目–>>properties选项(快捷键:Alt+Enter)
- 这里面我们选择<-Java Build Path->选项
- 这里选择<-Add Library->选项
- 选好<-User Library->后直接下一步
- 继续<-User Library->
- 接下来<-New->
- 名字随意,自己喜欢什么就来什么好了,只要不是太外星人就OK了,然后选择<-Add External JARselection->
- 接下来选择自己想用的jar文件就可以了。
四、spring中xml文件的配置
- 首先新建一个xml文件,文件名字建议使用“applcationContext.xml”
- 在该文件下写入最基本的xml配置信息,如下:
<!-- xml的声明 -->
<?xml version="1.0" encoding="UTF-8"?>
<!-- xml文件书写的条件的xsd文件路径 -->
<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">
<!-- bean标签内部主要是为了声明java程序中书写的类,id是在该xml文件中类的代码,id属性可以随意起名,但是不可以重复,class是我们自己写的java文件的全路径,以便于spring反射加载java文件 -->
<bean id="..." class="...">
<!-- 这种注入方式是是采用的构造器注入方式注入属性 -->
<constructor-arg ref="userAddDaoImpl"/>
<!-- 这种注入方式是采用set方法注入方式注入属性,name的值因为约定的原因必须为set方法的后缀,并且首字母小写 -->
<property name="uddddddd" ref="userAddDaoImpl"/>
</bean>
<bean id="..." class="...">
<!-- bean的详细配置 -->
</bean>
<!-- 其他bean -->
</beans>
五、
spring是如何实现IOC :是通过DI依赖注入。
spring 3.2.5
1.docs 帮助文档
2.libs spring使用的jar包
3.schema 控制spring配置文件的。
spring jar包
1.spring-expression-3.2.5.RELEASE.jar spring表达式相关jar包
2.spring-aop-3.2.5.RELEASE.jar spring对aop的支持持(面向切面编程)
3.spring-aspects-3.2.5.RELEASE.jar
4.spring-beans-3.2.5.RELEASE.jar spring对bean生成的相关支持
5.spring-core-3.2.5.RELEASE.jar spring核心jar
6.log4j-core-2.3.jar,log4j-api-2.3.jar 使用log4j相关的支持
7.commons-logging-1.1.3.jar 可以根据项目能力生成不同的日志信息。(jdk log)(log4j)
8.spring-context-3.2.5.RELEASE.jar ClassPathXmlApplicationContext:将spring配置文件加载到内存中
软件测试:
黑盒 按功能进行测试。(看不到源代码)
白盒 按代码进行测试。(可以看到源代码) 单元测试—>>>junit框架
junit 框架使用:
1.通过Eclipse build path 引入junit相关jar
2.在项目根目录下建立测试源代码文件夹
3.建立测试类包
4.建立测试类命名XXXTest,并继承junit.framework.TestCase
5.编写测试方法
assertEquals断言:查看某一个值是否为想要的预期值。