Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。
◆目的:解决企业应用开发的复杂性
◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
◆范围:任何Java应用
Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。
Spring简单概述:
能够整合绝大部分框架(就像一个容器)
mybatis JDBC升级版 SpringMVC servlet 升级版
Spring 包容框架的容器
Spring核心 : IOC (控制反转)
就是将对象的控制权从代码移交给XML
三种注值
1.setter注值:根据实体类建立propertyname值,使用values赋值,需要setter
<bean id="stu" class="test.Student">
<property name="name" value="张三"></property>
<property name="num" value="1001"></property>
</bean>
2.构造器注入:根据实体类中建立构造函数,构造器,无需setter。
<constructor-arg>
<value type="java.lang.String">张三</value>
</constructor-arg>
3.p标签注入:要使用p标签注入必须先在配置文件中导包 需要setter
导入这句话:(xmlns:p="http://www.springframework.org/schema/p")
AOP(面向切面)
1.前置增强:<aop:before method="pre_study" pointcut-ref="target"/>
public void pre_study(JoinPoint jp){
System.out.println("我是前置");
}
2.后置增强:<aop:after-returning method="pre_work" returning="result" pointcut-ref="target"/>
public void pre_work(JoinPoint jp,Object result){
//result 是目标方法的返回值 如果目标方法是void 返回值是
System.out.println("我是后置"+result+"做练习");
}
3.最终增强:<aop:after method="do_final" pointcut-ref="target"/>
public void do_final(JoinPoint jp) {
System.out.println("我是最终增强");
}
4.异常抛出增强:<aop:after-throwing method="do_exception" pointcut-ref="target" throwing="e"/>
public void do_exception(JoinPoint jp,Exception e) {
System.out.println("我是异常增强");
}
5.环绕增强:<aop:around method="around" pointcut-ref="target"/>
public Object around(ProceedingJoinPoint pjp) {
System.out.println("我是环绕增强的前置增强");
try {
Object result= pjp.proceed(); //执行目标方法 获取返回值 。并且获取目标方法的返回值
result="改动的返回值";
System.out.println("我是环绕增强的后置增强");
return result; //完美的替换 目标方法的返回值
} catch (Throwable e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
分享到:
相关推荐
Spring、SpringMVC和Mybatis是Java开发中最常用的三大开源框架,它们的整合使用,通常被称为SSM框架。这个框架组合提供了完整的后端服务解决方案,包括依赖注入(DI)、面向切面编程(AOP)、模型-视图-控制器(MVC...
弃用了struts,用spring mvc框架做了几个项目,感觉都不错,而且使用了注解方式,可以省掉一大堆配置文件。本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,...
java *spring工具类 方便在非spring管理环境中获取beanjava *spring工具类 方便在非spring管理环境中获取beanjava *spring工具类 方便在非spring管理环境中获取beanjava *spring工具类 方便在非spring管理环境中获取...
Spring Integration + Spring WS 整合 在 Java 领域中,Spring Integration 和 Spring WS 是两个常用的框架,它们分别负责集成系统和 Web 服务。今天,我们将探讨如何将这两个框架整合在一起,实现一个完整的 Web ...
包含spring 3.0.5的所有jar文件: org.springframework.aop-3.0.5.RELEASE.jar org.springframework.asm-3.0.5.RELEASE.jar org.springframework.aspects-3.0.5.RELEASE.jar org.springframework.beans-3.0.5.RELEASE...
Spring Batch是一个轻量级的,完全面向Spring的批处理框架,可以应用于企业级大量的数据处理系统。Spring Batch以POJO和大家熟知的Spring框架为基础,使开发者更容易的访问和利用企业级服务。Spring Batch可以提供...