1、spring两个最基本概念:依赖注入DI、面向切面AOP

2、spring通过上下文Application Context装配bean,实现方式的区别是如何加载它们的配置信息, ClassPathXmlApplicationContext、FileSystemXmlApplicationContext、XmlWebApplicationContext

3、面向切面编程往往被定义成促使应用程序分离关注点的一项技术,除了自身核心的功能之外,那些通常横向关注点的服务,如日志、事物管理、安全等

4、Spring容器有两种:bean工厂、application应用上下文

5、Spring模块

6、Spring核心框架支持的命名空间:aop、beans、context、jee、jms、lang、mvc、oxm、tx、util

7、Spring的bean的作用域:singleton、prototype、request、session、gloable-session

8、为满足初始化和销毁bean的需求,spring提供了bean生命周期的钩子方法:init-method、destroy-method(另一种实现方式是实现InitializingBean/DisposableBean)

9、Spring支持装配复合类型:list、set、map、props

10、spring支持装配空值,覆盖自动装配的值或满足特殊需求

11、spring支持使用表达式实现动态装配,null-safe存取器?. .?[]  .^[]  .$[]  .![]

12、自动装配:byName,byType,constructor,autodetect    autowire/primary/autowire-candidate,默认自动装配范围default-autowire只是当前配置文件中的所有bean

13、自动装配注解@Autowired @Qualifier(“”) 按类型装配,qualifier做限定,自定义限定器注解,@Inject/@Named

14、自动检测@Component/@Controller/@Repository/@Service

15、过滤组件扫描:include-filter/exclude-filter,扫描策略annotation、assignable、aspect、custom、regex

16、srping基于java的配置注入:@Configuration

17、通知Advice定义了切面是什么以及何时使用。切面的工作被称为通知,切面通知类型:Before/After/After-returning/After-throwing/Around

18、连接点Joinpoint,应用可能需要对时机应用通知,这些时机被称为连接点,这个时机可以是调用方法时,抛出异常时,甚至修改一个字段时

19、切点Pointcut定义了在何处使用切面,通常使用明确的类和方法名称来指定这些切点,切点定义了那些连接点会得到通知

20、切面Aspect是切点和通知的结合。通知和切点共同定义了关于切面的全部内容

21、织入weaving:编译期(AspectJ)/类加载期(AspectJ 5)/运行期,代理对象

22、spring的AOP支持:基于代理的AOP/@AspectJ注解驱动的切面/纯POJO切面/注入式Aspectj切面

23、spring基于动态代理,只支持方法连接点,缺少对字段连接点的支持,也不支持构造器连接点

24、spring AOP支持的AspectJ支持的切点指示器:art()、@args、execution()、this()、target()、@target、within()、@within()、@annotation、bean(),只有execution指示器是唯一的执行匹配,其他的指示器都是用于限制匹配的,限制匹配时可以使用and/or/not

25、在xml中声明切面<aop:advisor>、<aop:after>、<aop:after-returning>、<aop:after-throwing>、<aop:around>、<aop:aspect>、<aop:aspect-autoproxy>、<aop:before>、<aop:config>、<aop:declare-parents>、<aop:pointcut>

26、通过切面引入新功能,<aop:declare-parents>,implement-interface,default-impl,delegate-ref,default与delegate的区别是delegate是Spring bean,可以被注入,通知,或使用其他spring配置等

27、spring注解切面需要:引入aop命名空间’http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd’、创建代理<aop:aspectj-autoproxy>、注解切面(@Aspect/@Pointcut/@Before/@After)

28、@AspectJ注解并不了解Spring的bean,若要委托给bean,则只能使用xml配置

29、spring不能使用<bean>声明来创建AspectJ实例-它已经在运行时由AspectJ创建了,spring通过aspectOf()工厂方法获得切面的引用,然后像常规<bean>元素那样执行依赖注入

Spring----01. 入门知识,IoC/DI的更多相关文章

  1. Spring MVC -- Spring框架入门(IoC和DI)

    Spring MVC是Spring框架中用于Web应用开发的一个模块.Spring MVC的MVC是Model-View-Controller的缩写.它是一个广泛应用于图像化用户交互开发中的设计模式, ...

  2. spring 依赖注入(IOC DI)

    依赖注入(IOC DI) 依赖注入的两种方式: 1. set注入 Spring要求使用set注入方式的时候,Bean需要提供一个无参数的构造方法.并提供一个属性的setter方法.例如: packag ...

  3. spring框架学习(一)——IOC/DI

    什么是Spring框架: Spring是一个基于IOC和AOP的结构J2EE系统的框架: IOC 反转控制 是Spring的基础,Inversion Of Control,简单说就是创建对象由以前的程 ...

  4. Spring MVC入门知识总结

    2.1.Spring Web MVC是什么 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职 ...

  5. Spring MVC -- Spring MVC入门

    本篇博客首先介绍Spring MVC的优点,然后介绍Spring MVC的基本组件,包括DispatcherServlet,并学习如何开发一个“传统风格”的控制器,这是在Spring 2.5版本之前开 ...

  6. spring的IOC/DI功能实践

    一.写在前面: 做这个Demo主要是为了能够更好的理解Spring的原理,看再多的文章,听再多的讲解最终都最好自己去实现一遍,可以将Spring的功能分块实现,最终自然比较容易将各个功能组合起来. 这 ...

  7. Spring入门1. IoC入门实例

    Spring入门1. IoC入门实例 Reference:Java EE轻量级解决方案——S2SH 前言: 之前学习过关于Spring的一点知识,曾经因为配置出现问题,而总是被迫放弃学习这些框架技术, ...

  8. Spring入门 (IOC)

    1.实现原理

  9. Spring 入门知识

    ------------------------------------------------------------------------------------- Spring是什么? Spr ...

  10. spring+IOC+DI+AOP优点分析(一)

    Spring是什么: Spring是一个轻量级的DI和AOP容器框架. 说它轻量级有一大部分原因是相对与EJB的(虽然本人从没有接触过EJB的应用),重要的是,Spring是非侵入式的,基于sprin ...

随机推荐

  1. IDEA的下载安装和激活

    1.下载网站http://www.jetbrains.com/ 2. 3. 4.注意要下载Ultimate版本 5.安装 下载完成后直接下一步,傻瓜式安装 6.激活,在图片位置输入激活码即可 !!!! ...

  2. openldap完整版本搭建记录

    文档信息 目        的:搭建一套完整的OpenLDAP系统,实现账号的统一管理.                     1:OpenLDAP服务端的搭建                   ...

  3. 【转载】CString,string,char*之间的转换

    本文转自 <> 这三种类型各有各的优点,比如CString比较灵活,是基于MFC常用的类型,安全性也最高,但可移植性最差.string是使用STL时必不可少的类型,所以是做工程时必须熟练掌 ...

  4. Python面向对象--高级(二)

    ## 使用__slots__限制类的属性 - 之前说到,可以通过在类外部实例或者类名任意定义实例属性或者类属性或者方法 class Person(object): pass Person.name = ...

  5. C语言数组篇(二)指针数组和数组指针

    数组指针 和 指针数组         这两个名词可以说是经常搞混了         数组指针--> 数组的指针       就是前面讲的 指向数组a的指针p;         指针数组--&g ...

  6. 裸机——SD卡

    1.首先要对SD卡有个基础知识 (1) SD = nandflash + 主控IC. 主控IC负责了校验和坏块管理,所以SoC只需要依照时序就可以和SD卡上的主控IC进行数据交换等操作. (2) SD ...

  7. 3-1 练习 HTML 总结

    1.段落 #段落 <div class="ui segment"> </div> #翻转 <div class="ui inverted s ...

  8. 通俗版解释网关,IP地址,ARP欺骗,DDOS攻击

    计算机主机网关的作用是什么? 假设你的名字叫小不点,你住在一个大院子里,你的邻居有很多小伙伴,在门口传达室还有个看大门的李大爷,李大爷就是你的网关.当你想跟院子里的某个小伙伴玩,只要你在院子里大喊一声 ...

  9. 设置MySQL允许外网访问 费元星 feiyuanxing.com 站长

    1.修改配置文件sudo vim /etc/mysql/my.cnf把bind-address参数的值改成你的内/外网IP或0.0.0.0,或者直接注释掉这行. 2.登录数据库mysql -u roo ...

  10. linux 广播

    广播是一台主机向局域网内的所有主机发送数据.这时,同一网段的所有主机都能接收到数据.发送广播包的步骤大致如下: (1)确定一个发送广播的接口,如eth0 (2)确定广播的地址,通过ioctl函数,请求 ...