Spring学习笔记

spring 核心特性:依赖注入和AOP

依赖注入:在创建对象的时候,系统会协调设定这个对象所依赖的第三方组件,对象无需关注和管理第三方组件。

AOP:面向切面编程,为了系统各项互相协调的服务松耦合。例如事务管理,日志管理,安全管理等。

Spring 容器:beanFactory 应用上下文Context。

应用上下文Context:

AnnotationConfigApplicationContext 基于java的配置类中加载Spring应用的上下文

AnnotationConfigWebApplicationContext 基于java的配置类中加载Spring Web应用的上下文

ClassPathXmlApplicationContext 从类路径加载xml的spring上下文

XmlWebApplicationContext 从web应用下加载xml的Spring上下文

装配Bean:

自动化配置:java配置类使用注解@ComponentScan,如果是xml实现上下文,使用标签<context:component-scan></context:component-scan>,先开启自动化扫描包下面的类。相关注解@Component,@Service等注解

基于java的显示配置:主要是使用@Bean注解

基于xml的显示配置:主要是使用<bean class="com.xxx.xxx"></bean>

Bean的生命周期:

1. 实例化bean

2. 注入bean相关引用

3. 如果实现了beanNameAware接口,调用setBeanName方法

4. 如果实现了beanFactoryAware接口,调用setBeanFactory方法

5. 如果实现了ApplicationContextAware接口,调用setApplicationContext方法

6. 如果实现了beanPostProcessor接口,调用postProcessorBeforeXXXX方法

7. 如果实现了initializingBean接口或者配置了<init-methid>标签,调用afterPropertieSet方法

8. 如果实现了beanPostProcessor接口,调用postProcessorAfterXXXX方法

9. 这个时候,该bean可以为应用使用了。

10.如果实现了disposableBean接口或者配置了<destory-method>标签,调用destory方法

AOP理解:面向切面编程

通知(advice):前置通知,后置通知,返回通知,异常通知,环绕通知

连接点(Join point):应用中可以 应用通知的时机都叫连接点。

切点(pointcut):部分需要被通知的连接点。

切面(aspect):通知 + 切点 构成切面。

引入(introduction):现有类中添加新的方法和属性,使现有类有新的行为和状态。

织入(waving):把切面应用到目标对象,并创建新的代理对象的过程。织入时机:编译期(aspectJ的编译器),类加载期(AspectJ 5),运行期(Spring AOP)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,027评论 19 139
  • 一、Spring框架 1.1 Spring框架是什么 Spring是一种容器框架,用于配置各个组件(bean)并且...
    Jane_Static阅读 413评论 0 0
  • 本章内容: 面向切面编程的基本原理 通过POJO创建切面 使用@AspectJ注解 为AspectJ切面注入依赖 ...
    谢随安阅读 3,223评论 0 9
  • 你不用心看这个世界, 这个世界哪会看你。 这世界真的看你, 你怎能忍心闭眼不看。 你不用心看这个世界, 这个世界哪...
    花椒粒儿范范阅读 197评论 14 6
  • 在社會行走久了,很想知道有沒有一個行走江湖的萬能公式? 是 愛因斯坦的E=MC2 還是? 數理頭腦不好的我,其實只...
    繁花似錦微笑以對阅读 509评论 2 7