重要思路

Spring通过面向POJO编程、依赖注入、AOP和模板技术来降低Java开发的复杂性。

  1. 依赖注入能够让互相协作的软件组件保持松耦合,模块直接的耦合性是必要的,否则没法完成工作,但是耦合性需要被妥善管理;



  2. Spring通过AOP实现程序关注点分离,利用AOP,程序员可以使用各种功能层包裹核心业务层;



  3. Spring旨在通过模板封装来消除样板代码;

容器

容器是Spring框架的核心,负责创建对象、装配它们、配置它们,管理对象的整个生命周期。

Spring中有两类容器:Bean Factory(org.springframework.beans.factory.BeanFactory)和Application Context(org.springframework.context.ApplicationContext)。

Bean的生命周期

需要理解Bean的生命周期,每一个步骤都可能利用Spring提供的接口来定制Bean的创建过程。

Spring体系结构

在Spring框架之内,可以发现简化Java开发的几种方式,但是在Spring框架之外还存在一个庞大的构建在核心框架之上的生态圈,它将Spring扩展到不同的领域,例如Web服务、REST、移动开发,甚至NoSQL。下图是Spring的体系结构图。

Spring Boot

Spring Boot是一个新的工程,旨在简化Spring开发自身。Spring Boot通过大量的自动配置技术,可以消去大部分Spring配置。跟现在的微服务潮流相适应,值得关注。

一、装配Bean

创建对象之间协作关系的行为被称为“装配”,这也是依赖注入的本质。

Spring4.X提供了三种配置Bean的方式:

  1. 基于XML文件的显式配置;
  2. 基于Java类的显式配置;
  3. 隐式的Bean发现和自动装配。

这三种配置方式之间的选择并没有一个标准答案,但是根据当前Spring的发展趋势——去配置化,我们建议的选择优先级为:自动装配(显式的配置越少越好)>基于Java类的显式配置(类型安全)>基于XML文件的显式配置(最后的选择)。

1.自动装配Bean

Spring提供了两个关键点来支持自动装配:

  • Component scanning:Spring自动发现将要在应用上下文中创建的Bean
  • Autowiring:Spring自动实现Beans之间的依赖关系;

二、

最新文章

  1. 【Oracle 集群】Oracle 11G RAC教程之集群安装(七)
  2. Linq→join中指定多个条件
  3. C语言与水仙花数
  4. iOS开发之音频口通信-通过方波来收发数据
  5. Hadoop MapReduce例子-新版API多表连接Join之模仿订单配货
  6. 在Win7下安装IIS
  7. MySQL监控工具-orzdba
  8. memcached+php客户端
  9. Linux命令行访问网页
  10. linux下配置php Apache mysql
  11. Java Socket与操作系统的关系
  12. Android开发中使用static变量应该注意的问题
  13. [js] 如何 在 jQuery 中的 $.each 循环中使用 break 和 continue
  14. js-分享功能插件
  15. Socket TCP客户端和服务器的实现
  16. react项目搭建
  17. web分页打印
  18. Python图表绘制:matplotlib绘图库入门(转)
  19. Mac下的Docker及Kubernetes(k8s)本地环境搭建与应用部署、管理界面kubernetes-dashboard
  20. 异常处理的设计与重构 pdf

热门文章

  1. spring boot整合H2数据库
  2. Xamarin.FormsShell基础教程(2)创建Shell解决方案
  3. 浅入深出ETCD之【集群部署与golang客户端使用】
  4. 008-linux shell vim使用
  5. IfcAxis2Placement3D
  6. Python 精选文章
  7. element-ui 上传图片 后清空 图片 显示
  8. Look Further to Recognize Better: Learning Shared Topics and Category-Specific Dictionaries for Open-Ended 3D Object Recognition
  9. Node.js实现PC端类微信聊天软件(四)
  10. Oracle Spatial分区应用研究之五:不同分区粒度+本地空间索引效率对比