Spring

Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。

◆目的:解决企业应用开发的复杂性

◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能

◆范围:任何Java应用

Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。

Spring简单概述:

能够整合绝大部分框架(就像一个容器)

mybatisJDBC升级版SpringMVCservlet升级版

Spring包容框架的容器

Spring核心:IOC(控制反转)

就是将对象的控制权从代码移交给XML

三种注值

1.setter注值:根据实体类建立propertyname值,使用values赋值,需要setter

<beanid="stu"class="test.Student">

<propertyname="name"value="张三"></property>

<propertyname="num"value="1001"></property>

</bean>

2.构造器注入:根据实体类中建立构造函数,构造器,无需setter。

<constructor-arg>

<valuetype="java.lang.String">张三</value>

</constructor-arg>

3.p标签注入:要使用p标签注入必须先在配置文件中导包需要setter

导入这句话:(xmlns:p="http://www.springframework.org/schema/p")

AOP(面向切面)

1.前置增强:<aop:beforemethod="pre_study"pointcut-ref="target"/>

publicvoidpre_study(JoinPointjp){

System.out.println("我是前置");

}

2.后置增强:<aop:after-returningmethod="pre_work"returning="result"pointcut-ref="target"/>

publicvoidpre_work(JoinPointjp,Objectresult){

//result是目标方法的返回值如果目标方法是void返回值是

System.out.println("我是后置"+result+"做练习");

}

3.最终增强:<aop:aftermethod="do_final"pointcut-ref="target"/>

publicvoiddo_final(JoinPointjp){

System.out.println("我是最终增强");

}

4.异常抛出增强:<aop:after-throwingmethod="do_exception"pointcut-ref="target"throwing="e"/>

publicvoiddo_exception(JoinPointjp,Exceptione){

System.out.println("我是异常增强");

}

5.环绕增强:<aop:aroundmethod="around"pointcut-ref="target"/>

publicObjectaround(ProceedingJoinPointpjp){

System.out.println("我是环绕增强的前置增强");

try{

Objectresult=pjp.proceed();//执行目标方法获取返回值。并且获取目标方法的返回值

result="改动的返回值";

System.out.println("我是环绕增强的后置增强");

returnresult;//完美的替换目标方法的返回值

}catch(Throwablee){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

returnnull;

}

相关推荐