zoukankan      html  css  js  c++  java
  • 学习新技术的理论

    1.掌握用法

    2.深入理解

    3.不断实践

    4.反复总结

    5.不断深入理解与实践

    二.spring两种注入方式:

    1.设置注入

    2.构造注入

    3.2 spring的生命周期,和servlet其实类似的  定义,就是servlet在书写web.xml,初始化、使用(servlet有服务的方法service)、销毁  

    分别有三种方式:两种xml的init-method、int-destroy(一种是全局的,可选,一种是局部的,必选),还有实现某种接口的,覆盖某些方法的

     3.3  Aware接口:可以对容器进行操作

    3.4 自动装配的四种方式:

    1. no:不做任何操作 2.byName  根据名称进行注入(如果没有找到抛异常) 3.byType 根据类型进行注入(如果有多个实现的类型,抛异常) 4.constructor:根据构造器:构造器参数根据类型来匹配

    3.5 Resouce,该接口的实现跨越根据application来获取,使用时候有3种使用方式:classpath:、file:、url:;默认为appcalication的classpath;

    4-1 Spring Bean装配之Bean的定义及作用域的注解实现

    @compononent (子类 @service @reposetory @Controller)  然后介绍了<context: component-scan > 比<contenx:anotation-config>更广泛  还添加了scope注解 自定义bean(要包含无参构造器)

    4-2 spring 的@autowired 三种用法 1.在属性上 2.在方法set上 3.在构造器上

    4.3 @autowired可以使得类型的数组或map的字段或方法进行注入,而且针对数组可以有@order注解来排序

    4.4 @autowired在多种类型的时候,不知道需要注入哪一个,可以使用@qualifier来缩小范围

    4.5 介绍了@bean ,一般是在@configure下面的 方法使用,如果没有给定bean的名称,默认是方法名,除此之外,还可以使用@bean(init-method与destroy-method),具体实现是要在该方法返回的对象中实现

    4.6 介绍了@importResource @value来替代xml文件的形式,然后注意点是value的变量需要与系统有所区别,例如username

    4.7 @scope value默认为单例,还有模式,可以选择为target_class等

    4.8 @autowired可以使用泛型 ,其次customAutowiredConfigure可以自定义@quelifier类似的注解

    4.9 介绍了@resource基于bean名称的注解,还有@postConstruct、@preDestroy 类似于 init-method destroy-method, 其次还有@Inject注解,相当于@Autowried ,@Named 相当于@component

    5.1 主要介绍了aop的方式有两种  预编译(aspect)与 动态代理(SpringAop、jbossAop)还有介绍了oop与aop是互补关系,aop相关的一些概念,切面、连接点等,advice有五种情形

    5.2 介绍了<aop:config> <aop:aspect> <aop:aspect><aop:config>

    5.3 介绍了pointcut有多种类型表达,within、target args等,然后<aop:config> <aop:pointcut  expression="目标方法表达式" id=""> <aop:pointcut><aop:config>

    5.4 介绍了 advice的5种表达情况 1.before 2. after-running 3.after-throwing 4.after 5.环绕

    5.5 单独介绍了<aop:around method=“”> <aop:around>  有个条件,必须第一个参数为ProcessDingJoinPoint ,然后在processDingJoinPoint.proceed()方法前后做操作,所以叫做环绕,除此之外还可以传参数的方式,来对参数进行前后处理

    5.6介绍了@introductions 就是说,如果使用<aop:declare-parents>匹配到的,就可以转成所定义的接口实现接口的类型(我也不知道这个有什么使用场景)

    5.7 介绍了advisor 用了<aop:around>来演示了循环调用,感觉没讲什么

    --- 以上是基于aspect的做法,下面是SpringAop的api

    6.1 讲了spring aop 的api 1.介绍pointcut 的实现类 NamedMatchMethodPointcut,有个mappedNames,类似表达式expression,然后讲了BeforeAdvice ThrowAdvice AfterRunningAdvice   MethodInterceptor

     6.2 讲了Spring apo的api配置,讲了ProxyFactoryBean的配置,ProxyFactoryBean是一个代理类,核心是getObject方法,最后讲了隐藏实现类的bean的做法

     6.3 讲解了 ProxyFactoryBean和自动代理的使用

    --

    7.1 描述了@aspectj的使用,并且说了@pointcut的使用,还有组合pointcut,最后讲了怎么写pointcut的expression是比较良好的

    7.2 描述了@AspectJ怎么使用5种切面@advice的例子,1.@Before() 2.@AfterRunning 3.AfterThrow 4.After 5.Around   ,其中Around 的第一个参数还是为ProcessDingJoinPoint ,而且方法的第一个参数不是目标对象的返回值,processDingJoinPoint.proceed才是

    7.3 对advice的组合使用和参数的传递

    https://www.iteye.com/blog/wujiu-2222609

    https://blog.csdn.net/iamlake/article/details/86357114

    https://www.cnblogs.com/weiyinfu/p/8471407.html

    shiro优雅整合:https://segmentfault.com/a/1190000014479154

    shiro登录拦截

    https://www.jianshu.com/p/1c40cba55e0a

    https://www.pianshen.com/article/8515241483/

  • 相关阅读:
    IDEA最常用快捷键汇总+快速写出Main函数
    设计模式之代理模式
    Java多线程中join、yield、sleep方法详解
    git基础命令详解
    用友网络科技Java高级开发面试题(2019)
    Java内部类超详细总结(含代码示例)
    构造器中绝对绝对不能调用可被覆盖的方法
    写给小白看的Git的安装配置与使用
    Vue学习笔记5--前端工程化
    Vue学习笔记4--vue-router路由
  • 原文地址:https://www.cnblogs.com/imfjj/p/12747815.html
Copyright © 2011-2022 走看看