`
fisherhe
  • 浏览: 53053 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

spring学习笔记(架构和工作原理)

阅读更多

spring框架的简介

 是一种无侵入性的设计,采用loc控制反转,减少代码对spring的依赖性。

spring将管理的bean作为pojo进行控制,通过aop能够增加其他的功能,它为我们提供了一种思想(IOC和AOP)。

容器是spring的核心,而spring又是基于IOC的一种容器。

 

 spring架构中的核心思想:1.针对接口编程2.使用了依赖注入

 

为什么要使用IOC?

  传统的注入采用new对象的方式,比如:

class A{

  A a=new A ();

}

 class B{

 B b=new B();

}

.....

这样的new对象带来的是,在对象创建实例时要依赖自身或者依赖于其他对象的构建。

 而我们使用IOC容器,可以不必关心组件的创建,将对象的创建交给第三方(IOC容器)来完成,减少类之间的耦合度,

易于测试和维护。

 

IOC的实现类型包括:

1.接口注入,通常做法是将接口的调用者和实现者分离。

2.设值注入(set())

3.构造器注入

spring中的IOC容器支持2,3中。

 

ioc的作用:主要是协调各组件间相互的依赖关系,同时提高了组件的可移植性。

spring所有的模块都建立在核心容器上面:

1.核心容器(其中beanfacorty,是所有基于spring框架系统的核心)

2.application context

3.aop模块(通过配置管理特性,springAOP模块将面向方面的编程能集成进来)

4.jdbc模块以及dao模块

5.o/r映射模块

6.spirng的web模块

7.spring的mvc框架

 

工作原理:

1.首先会读取配置文件到容器中。

2.通过java反射机制将配置文件中描述的对象转换成java对象;

3.将这些java对象按照配置文件中的定义将他们注入到各自匹配的对象中去。

 

springIOC 容器主要为:

1.beanfactory

2.applicationContext(继承beanfacoty)

 

区别:两者读取配置文件时对象时候的方式不一样beanfactoy采用延迟加载,而applicaitionContext是采用即时加载

applicationcontext提供更多的功能:

 

1.i18n(提供国际化的支持)

2.访问不同资源的resource类

3.Publish Event(支持发布事件)

 

2
0
分享到:
评论
3 楼 uniquejava 2009-10-30  
总结的不错
2 楼 pangbuddy 2009-10-23  
谢谢总结!
1 楼 CoderDream 2009-10-23  
感谢分享!

相关推荐

    Spring学习笔记&源码

    本资料“Spring学习笔记&源码”是基于网易云课堂黑马程序员的Spring四天精通课程,旨在帮助学习者深入理解和实践Spring框架。 笔记部分可能会涵盖以下内容: 1. **Spring概述**:介绍Spring框架的历史、特点和主要...

    Spring学习笔记+学习源码.zip

    这份"Spring学习笔记+学习源码.zip"资源包含了深入学习Spring及其相关技术的知识点,以及实践代码,对提升Spring技能将大有裨益。 首先,我们来详细讨论Spring框架的主要组件和功能: 1. **依赖注入(Dependency ...

    springsecurity学习笔记

    在"springsecurity学习笔记"中,你可能会涉及以下主题: - Spring Security的基本配置,包括web安全配置和全局安全配置。 - 如何自定义认证和授权流程,比如实现自定义的AuthenticationProvider和...

    Spring学习笔记.doc

    ### Spring学习笔记知识点详解 #### 一、Spring框架概述 **1.1 什么是Spring** Spring框架是一个开源的轻量级应用框架,主要用于简化企业级应用程序的开发过程。它的核心特性在于提供了一种灵活的方式来组织和...

    尚硅谷周阳老师SpringCloud笔记

    开发者需要理解Eureka的工作原理,包括服务注册与发现的过程,以及如何在应用中集成Eureka Server和Eureka Client。 接下来,SpringCloud Ribbon是客户端负载均衡器,它与Eureka结合,可以在消费服务时实现自动负载...

    spring指南学习笔记

    标题和描述均提到了“spring指南学习笔记”,这意味着文档聚焦于Spring框架的学习心得与关键概念。Spring是一个开源的Java企业级应用框架,以其强大的依赖注入(Dependency Injection, DI)和面向切面编程(Aspect ...

    spring学习笔记(3.20)

    标题 "spring学习笔记(3.20)" 暗示我们即将探讨的是关于Spring框架的某个特定主题,可能涵盖版本3.20或基于该版本的学习内容。Spring是一个广泛使用的Java企业级应用开发框架,它提供了依赖注入、AOP(面向切面编程...

    spring学习笔记,包括源码学习

    总的来说,这份"spring学习笔记,包括源码学习"的资料覆盖了Spring框架的基础到进阶内容,对于深入理解Spring的工作原理和提高开发技能大有裨益。如果你希望成为Spring专家,那么这份笔记无疑是一份宝贵的参考资料。

    Spring技术内幕 学习笔记

    学习笔记可能会涵盖Spring Boot的起步依赖、启动器、自动配置原理,以及如何创建RESTful服务和健康检查端点。 总之,《Spring技术内幕 学习笔记》涵盖了Spring框架的众多核心知识点,从IoC容器、AOP到Web开发和数据...

    Spring学习笔记之一“why spring”

    标题中的"Spring学习笔记之一“why spring”"表明了这篇笔记主要探讨的是Spring框架的核心价值和使用背景。在IT行业中,Spring是一个广泛使用的Java企业级应用开发框架,它以其依赖注入(Dependency Injection,DI)...

    Spring 学习笔记三

    在我们的Spring学习旅程中,这篇笔记将带领大家更深入地探讨Spring框架的核心特性及其工作原理。Spring作为Java开发中广泛使用的轻量级框架,其强大的功能和灵活性使得它成为了企业级应用开发的首选。本次我们将主要...

    Spring高级源码学习笔记.zip

    源码学习是提升编程技能的重要途径,尤其是在理解复杂框架如Spring的工作原理时。本笔记旨在深入解析Spring的高级源码,帮助程序员从应用层面过渡到源码级的理解。 Spring的核心组件包括Bean容器、AOP代理、数据...

    spring5学习笔记

    本学习笔记将深入探讨Spring 5的各个方面,包括基本概念、配置、核心组件以及最新特性。 首先,我们来了解一下Spring框架的核心概念。Spring的核心是IoC(Inversion of Control)容器,它负责管理对象的生命周期和...

    尚硅谷SpringCloud第二季笔记

    【尚硅谷SpringCloud第二季笔记】是一份详细记录了SpringCloud组件使用的学习笔记,涵盖了SpringCloud在云原生环境下的核心概念和实践应用。SpringCloud是基于Spring Boot实现的微服务框架,它提供了构建分布式系统...

    springcloud笔记.pdf

    - 深入理解SpringCloud各组件的原理和使用方法,如Eureka、Ribbon、Hystrix等。 - 实践项目,通过实际操作加深对微服务的理解。 - 学习解决问题的思路和技巧,例如遇到服务调用异常时如何定位和解决。 通过这本...

    SpringSecurity笔记,编程不良人笔记

    可能是使用Draw.io绘制的SpringSecurity架构图或流程图,帮助可视化理解SpringSecurity的工作原理。 总之,SpringSecurity为开发者提供了强大的安全工具,通过灵活的配置和丰富的扩展性,能够满足各种复杂的Web...

    SpringCloud学习笔记整理最新版本

    - 深入学习Eureka的工作原理和使用方法,理解服务注册中心的重要性。 - 掌握服务注册、服务发现的具体配置和操作,了解Eureka Server和Eureka Client的区别及其配置方式。 3. **负载均衡**: - 了解Ribbon的

    Struts、Spring、Hibernate&Ajax;学习笔记总结

    ### Struts、Spring、Hibernate&Ajax 学习笔记总结 #### Struts 部分 **Struts** 是 Java 开源框架中最早出现且最具影响力的框架之一,它出自 Apache 组织,是 Java Web 应用开发的标准之一。Struts 以 MVC(Model...

    Spring 学习笔记一

    学习 Spring 源码可以帮助开发者更深入地理解其工作原理。例如,了解 BeanFactory 和 ApplicationContext 如何管理 Bean 的生命周期,以及如何实现依赖注入。此外,研究 Spring AOP 的底层实现,如代理模式的应用,...

Global site tag (gtag.js) - Google Analytics