java spring框架

spring架构图

core:ioc和aop

扩展框架:spring mvc,dao,jdbc

一 概念:

spring是一个框架,可以理解为一个IOC容器,容器里装着bean,bean可以理解为一个类;早起版本只有core,其他组件都是后来新版本逐步新加的

spring mvc是web自框架,与其他web框架例如struts2

二原理:

1 spring mvc原理

web程序启动时,ContextLoaderServlet加载xml配置文件,初始化DispatchServlet--------http请求-------容器(Tomcat)解析http---------request-------映射关系(路径,方法,参数)--------DispatchServlet---------HandlerMapping--------HandlerAdapter-- ----controller-------ModelAndView------------ViewResolver-------View------render


interface FrameworkServlet{

    private webApplicationContext;

    public initFrameworkServlet(){//初始化HandlerMappings类的对象}

    public doGet(){serviceWrapper();}

    public doPost(){serviceWrapper();}

    public serviceWrapper(){doService() ;}

    public doService(){doDispatch(request, response);}

    doDispatch(request, response){

         HandlerExecutionChain mappedHandler = null;

         //从HandlerMappings list列表中取HandlerMapping对象;每个HandlerMapping对象代表一个Controller和URL的映射

         //其实在运行的时候是一个HandlerExecutionChain和URL的映射,而HandlerExecutionChain对象其实就是对Controller和它          //interceptors的一个包装器,可以把HandlerMapping看成Controller和URL的映射

         mappedHandler = getHandler(processedRequest, false);

      }


}

DispatchServlet implement FrameworkServlet


三xml配置

web.xml

applicationcontext.xml

<servletname>servlet.xml


action.xml

service.xml

dao.xml


四注解

1 bean相关注解

@Component   对比较中立的类进行注解,现在不推荐使用


@controller      表现层bean,即structs框架的action

@service          业务层bean

@Repository   数据访问层bean


@scope范围

sigleton,proproty,request,session,global session


2 spring mvc相关注解

@handlemapping

handleradapter

resolveview

view


3 数据绑定

httprequest与注解方法参数之间的转换称之为数据绑定 data bind

五 面向切面编程AOP

简介:对公共行为的抽象,包括日志,权限,异常处理,事务处理

1 反射机制 reflection,也称内省inrospection

    java程序可以加载一个运行时才得知名称的class,获悉其完整构造,并生成其对象实体,或设置field值,或调用method

    通过java.lang.Class    java.lang.reflect包中的Method,Field,Constructor等实现

2 动态代理与CGLIB代理

   动态代理:自定义handler    InvorcationHandler

3 基本概念

连接点join point:程序运行某个阶段的点,例如方法调用,异常抛出

切入点pointcut:连接点集合,需要注入adive位置的地方,指明advice在什么条件下才能触发

advisor:连接pointcut和adive的配置器

通知advice:某个连接点所采用的处理逻辑

4 基于xml配置的aop
<aop:config>  
           <aop:pointcut/>
           <aop:aspect>
           </aop:aspect>
 </aop:config>
5 基于@AspectJ注解的aop
 AspectJ是AOP的一种实现,spring集成了它
   @Aspect
   @Pointcut
   @Before等


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

步基

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值