暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

初识Spring

程序媛的梦想 2018-09-07
300
《Java编程思想》里有一句话说: “编程语言是程序员的表达的方式,而架构是程序员对世界的认知”。其实最近的四个月,我已经做完了两个Java项目,用到了Spring Boot和Spring Cloud。然而还是觉得自己对Spring等相关的框架的认识只停留在使用上,很多概念、思想并不能理解得很透彻,于是重新从基础概念开始重新学习Spring相关的东西。

Spring是什么?

  1. Spring是一个开源框架,为了解决企业应用开发的复杂性而创建的,但现在已经不止应用于企业应用。

  2. 是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架

  • 从大小于开销两方面而言Spring是轻量级的;

  • 通过控制反转(IoC)的技术达到松耦合的目的;

  • 提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发。

  • 包含并管理应用对象的配置和生命周期,这个意义上是一种容器。

  • 将简单的组件配置、组合成为复杂的应用,这个意义上是框架。

Spring的学习网站:

  • 官网:http://spring.io

  • 官方文档: http://spring.io/projects/spring-framework

Spring的优点

  • 在Spring上开发应用简单;

  • 在Spring上开发应用方便;

  • 在Spring上开发应用快捷。
    Spring带来了复杂JavaEE开发的春天。

Spring Framework Runtime

从下到上

  1. Test: 单元测试

  2. Core Container: 核心容器。容器是Spring框架最核心的部分,它负责Spring应用中的Bean的创建、配置和管理。

  • Bean: Bean容器

  • Core: 核心的一些包、工具

  • Context: 上下文

  • SpEL: Spring Expression Language,Spring表达式语言。
    依赖注入和控制反转基本由core和bean这两个jar包提供。
    BeanFactory是bean模块非常重要的接口,是bean容器最上层的接口。

 3. 功能组件

  • AOP: 在AOP模块中,Spring对面向切面编程提供了丰富的支持。这个模块是Spring应用系统开发切面的基础。

  • Aspects

  • Instrumentation

  • Messaging: 消息

 4. Data Access/Integration(数据访问与集成):

 5. Web and remotiong: Web远程调用。

Spring的作用

  1. 容器;

  2. 提供了对多种技术的支持:

  • JMS;

  • MQ支持;

  • UnitTest;

  • 其它。

 3. AOP(事务管理、日志等);

 4. 提供了众多方便应用的辅助类(JDBC Template等);

 5. 对主流框架(Hibernate等)提供了良好的支持。

Spring的应用范围

  • 构建企业应用(SpringMVC + Spring + Hibernate/ibatis);

  • 单独使用Bean容器(Bean管理);

  • 单独使用AOP进行切面处理;

  • 其它的Spring功能,如对消息的支持等;

  • 在互联网中的应用。

文章转载自程序媛的梦想,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论