《Spring实战》读书笔记——Spring简介

欢迎你们关注个人微信公众号,一块儿探讨Java相关技术数据库

JavaCorner扫扫关注我

使用Spring的目的

Spring是为了解决企业级应用开发的复杂性而建立的,使用Spring可让简单的JavaBean实现以前只有EJB才能完成的事情。express

Spring如何下降Java开发的复杂性

  • 最小侵入编程
  • 经过面向接口和依赖注入实现松耦合
  • 基于编程惯例和切面进行声明式编程
  • 经过模板减小样板式代码

Spring容器

在Spring应用中,再也不由对象自行建立或管理它们之间的依赖关系;Spring容器负责建立对象、装配对象、配置它们并管理它们的整个生命周期。编程

容器是Spring框架的核心,是依赖注入和切面的基础,其自带了多个容器实现,这多个实现能够归类为两种不一样的类型:微信

  • Bean工厂,提供基本的依赖注入支持
  • ApplicationContext,基于Bean工厂构建,提供应用框架级别的服务

ApplicationContext在实际的应用中更普遍、更受欢迎。框架

应用上下文

Spring自带了多种类型的应用上下文,其中最经常使用的几种为:模块化

  • AnnotationConfigApplicationContext:从一个或多个基于Java的配置类中加载Spring上下文
  • AnnotationConfigWebApplicationContext:从一个或多个基于Java的配置类中加载Spring Web应用上下文
  • ClassPathXmlApplicationContext:从类路径下的一个或多个xml配置文件中加载Spring上下文
  • FileSystemXmlApplicationContext:从文件系统下的一个或多个xml配置文件中加载Spring上下文
  • XmlWebApplicationContext:从Web应用下的一个或多个xml配置文件中加载Spring上下文
Bean的生命周期
  1. Spring实例化Bean
  2. Spring将值和Bean的引用注入到Bean对应属性中
  3. 若是Bean实现了BeanNameAware接口,Spring将Bean的id传给setBeanName()方法
  4. 若是Bean实现了BeanFactoryAware接口,Spring调用setBeanFactor()方法,将BeanFactory实例传入
  5. 若是Bean实现了ApplicationContextAware接口,Spring调用setApplicationContext()方法,将Bean所在的应用上下文传入
  6. 若是Bean实现了BeanPostProcessor接口,Spring调用postProcessBeforeInitialization()方法
  7. 若是Bean实现了InitializingBean接口或使用了init-method声明了初始化方法,Spring调用afterPropertiesSet()方法
  8. 若是Bean实现了BeanPostProcessor接口,Spring调用postProcessAfterInitialization()方法
  9. Bean初始化完毕,能够进行使用,其将一直在应用上下文中驻留,直到该应用上下文销毁
  10. 若是Bean实现了DesposableBean接口或使用了destroy-method声明了销毁方法,Spring将调用destroy()方法

Spring核心模块

Spring的模块依据其所属的功能能够划分为6类。post

Spring核心容器
  • core:Spring核心
  • context:Spring容器
  • beans:Spring的Bean工厂
  • expression:Spring表达式语言
  • context-support:Spring容器辅助支撑
Spring AOP
  • aop:面向切面编程
  • aspectJ:切面注解相关
数据访问与集成
  • JDBC:数据库访问相关
  • JMS:消息相关
  • ORM:对象关系映射模型相关
  • OXM:XML映射模型相关
  • transaction:事务相关
  • Messaging:消息服务相关
Web与远程调用
  • Web MVC:Spring提供的MVC框架
  • Web Servlet:Servlet相关
  • WebSocket:Socket编程相关
Instrumentation

使用场景有限,暂时不须要了解测试

Test

Spring提供的测试框架spa

总结

本文从总的方向上对Spring相关的内容进行了介绍,并不涉及任何细节的东西。主要涉及Spring的优点、Spring容器、Spring应用上下文、Spring生命周期、Spring项目的模块化。在接下来的文章中,将会经过示例的方式展现Spring每一项功能的使用。xml

相关文章
相关标签/搜索