博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring基础
阅读量:5159 次
发布时间:2019-06-13

本文共 2335 字,大约阅读时间需要 7 分钟。

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 ’、创建代理<aop:aspectj-autoproxy>、注解切面(@Aspect/@Pointcut/@Before/@After)

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

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

30、a

转载于:https://www.cnblogs.com/ikuman/p/3596645.html

你可能感兴趣的文章
判断一个网页是在哪里打开的( ios,Android,微信)
查看>>
Python正则表达式里的单行re.S和多行re.M模式
查看>>
SQL Server 存储过程 分页查询
查看>>
洛谷1073 NOIP2009 最优贸易
查看>>
date和time
查看>>
dgango内置组件contenttype
查看>>
NetBios网络基础及编程
查看>>
Java 实现 RSA 非对称加密
查看>>
qtcpsocket send and recieve the image from youself
查看>>
View(视图)
查看>>
jmeter连接mysql数据库
查看>>
GitLab 备份与恢复
查看>>
isinstance()
查看>>
Python 管理 MySQL
查看>>
JDK6、Oracle11g、Weblogic10 For Linux64Bit安装部署说明
查看>>
NYOJ 488 素数环
查看>>
地址请求Eclipse中TCPIPMonitor的用法
查看>>
加班生活程序人生之我们的故事:十年如歌(5)
查看>>
Could not delete from specified tables.问题的解决方案
查看>>
使用es6 let特性做一个倒计时页面
查看>>