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(支持发布事件)
分享到:
相关推荐
本资料“Spring学习笔记&源码”是基于网易云课堂黑马程序员的Spring四天精通课程,旨在帮助学习者深入理解和实践Spring框架。 笔记部分可能会涵盖以下内容: 1. **Spring概述**:介绍Spring框架的历史、特点和主要...
这份"Spring学习笔记+学习源码.zip"资源包含了深入学习Spring及其相关技术的知识点,以及实践代码,对提升Spring技能将大有裨益。 首先,我们来详细讨论Spring框架的主要组件和功能: 1. **依赖注入(Dependency ...
在"springsecurity学习笔记"中,你可能会涉及以下主题: - Spring Security的基本配置,包括web安全配置和全局安全配置。 - 如何自定义认证和授权流程,比如实现自定义的AuthenticationProvider和...
### Spring学习笔记知识点详解 #### 一、Spring框架概述 **1.1 什么是Spring** Spring框架是一个开源的轻量级应用框架,主要用于简化企业级应用程序的开发过程。它的核心特性在于提供了一种灵活的方式来组织和...
开发者需要理解Eureka的工作原理,包括服务注册与发现的过程,以及如何在应用中集成Eureka Server和Eureka Client。 接下来,SpringCloud Ribbon是客户端负载均衡器,它与Eureka结合,可以在消费服务时实现自动负载...
标题和描述均提到了“spring指南学习笔记”,这意味着文档聚焦于Spring框架的学习心得与关键概念。Spring是一个开源的Java企业级应用框架,以其强大的依赖注入(Dependency Injection, DI)和面向切面编程(Aspect ...
标题 "spring学习笔记(3.20)" 暗示我们即将探讨的是关于Spring框架的某个特定主题,可能涵盖版本3.20或基于该版本的学习内容。Spring是一个广泛使用的Java企业级应用开发框架,它提供了依赖注入、AOP(面向切面编程...
总的来说,这份"spring学习笔记,包括源码学习"的资料覆盖了Spring框架的基础到进阶内容,对于深入理解Spring的工作原理和提高开发技能大有裨益。如果你希望成为Spring专家,那么这份笔记无疑是一份宝贵的参考资料。
学习笔记可能会涵盖Spring Boot的起步依赖、启动器、自动配置原理,以及如何创建RESTful服务和健康检查端点。 总之,《Spring技术内幕 学习笔记》涵盖了Spring框架的众多核心知识点,从IoC容器、AOP到Web开发和数据...
标题中的"Spring学习笔记之一“why spring”"表明了这篇笔记主要探讨的是Spring框架的核心价值和使用背景。在IT行业中,Spring是一个广泛使用的Java企业级应用开发框架,它以其依赖注入(Dependency Injection,DI)...
在我们的Spring学习旅程中,这篇笔记将带领大家更深入地探讨Spring框架的核心特性及其工作原理。Spring作为Java开发中广泛使用的轻量级框架,其强大的功能和灵活性使得它成为了企业级应用开发的首选。本次我们将主要...
源码学习是提升编程技能的重要途径,尤其是在理解复杂框架如Spring的工作原理时。本笔记旨在深入解析Spring的高级源码,帮助程序员从应用层面过渡到源码级的理解。 Spring的核心组件包括Bean容器、AOP代理、数据...
本学习笔记将深入探讨Spring 5的各个方面,包括基本概念、配置、核心组件以及最新特性。 首先,我们来了解一下Spring框架的核心概念。Spring的核心是IoC(Inversion of Control)容器,它负责管理对象的生命周期和...
【尚硅谷SpringCloud第二季笔记】是一份详细记录了SpringCloud组件使用的学习笔记,涵盖了SpringCloud在云原生环境下的核心概念和实践应用。SpringCloud是基于Spring Boot实现的微服务框架,它提供了构建分布式系统...
- 深入理解SpringCloud各组件的原理和使用方法,如Eureka、Ribbon、Hystrix等。 - 实践项目,通过实际操作加深对微服务的理解。 - 学习解决问题的思路和技巧,例如遇到服务调用异常时如何定位和解决。 通过这本...
可能是使用Draw.io绘制的SpringSecurity架构图或流程图,帮助可视化理解SpringSecurity的工作原理。 总之,SpringSecurity为开发者提供了强大的安全工具,通过灵活的配置和丰富的扩展性,能够满足各种复杂的Web...
- 深入学习Eureka的工作原理和使用方法,理解服务注册中心的重要性。 - 掌握服务注册、服务发现的具体配置和操作,了解Eureka Server和Eureka Client的区别及其配置方式。 3. **负载均衡**: - 了解Ribbon的
### Struts、Spring、Hibernate&Ajax 学习笔记总结 #### Struts 部分 **Struts** 是 Java 开源框架中最早出现且最具影响力的框架之一,它出自 Apache 组织,是 Java Web 应用开发的标准之一。Struts 以 MVC(Model...
学习 Spring 源码可以帮助开发者更深入地理解其工作原理。例如,了解 BeanFactory 和 ApplicationContext 如何管理 Bean 的生命周期,以及如何实现依赖注入。此外,研究 Spring AOP 的底层实现,如代理模式的应用,...