spring学习笔记之核心理念(一)

简介: spring学习笔记之核心理念(一)

spring是java开发者必备的基础框架之一,本文从入门级别的基础开始阐述自己的一点点理解

架构图

spring整体架构为20多个模块,我最熟悉的有AOP模块(拿来做统计日志,统计方法耗时等)、JDBC(连接数据库)、Servlet(交互式地浏览和生成数据)

1.Core Container

Core Container包含有 Bean Core Context Expression Language 4个模块。

基础模块:Core、Bean,这两个模块提高了spring的核心,IOC控制反转和DI依赖注入,BeanFactor通过工厂模式解决了单例的需要,Core模块则是提供了所有spring其他组件需要的核心工具类,可以理解为是一个公共的类库。

2.Data Acces/Integration

Data Acces/Integration 包含JDBC、ORM、OXM、JMS 和Transaction

重点模块:JDBC 连接数据库的;ORM,对象-关系映射;Transaction 声明式事务

3.Web,为应用程序提供上下文

  • AOP
    AOP模块,可以让你定义例如方法拦截器和切点,将逻辑代码分开

IOC的基本概念

IOC有三种依赖注入的方式,即构造方法注入、setter方法注入以及接口注入

bean的生命周期

核心知识点

  • bean的生命周期

bean对象实例化—>设置对象属性—>beanserviceprosesor前置处理->inilizisionBean 初始化检测—>init method —>beanserviceprosesor 后置处理—>使用中—>destory inilizisionBean —>destory init

beanfactory和factorybean和applicationcontext的区别

  • ioc和aop的理念

ioc就是控制反转

  • spring里面用了什么设计模式

beanFactory 用到了单例模式、工厂模式

aop用到了代理模式

  • Spring中bean的作用域

singleton

protype

session

globle session

  • Spring框架中的Bean是线程安全的么?如果线程不安全,那么如何处理

不是线程安全的,可以切换多例

  • 自动装配

no

byName

byType

注入方式

构造方法注入

getter setter 注入

接口注入

2.5之后加了一个注解注入

---------------------本文参考书籍《Spring源码深度解析》、《Spring揭秘》王富强版

目录
相关文章
|
6月前
|
前端开发 搜索推荐 Java
【Spring底层原理高级进阶】基于Spring Boot和Spring WebFlux的实时推荐系统的核心:响应式编程与 WebFlux 的颠覆性变革
【Spring底层原理高级进阶】基于Spring Boot和Spring WebFlux的实时推荐系统的核心:响应式编程与 WebFlux 的颠覆性变革
|
4月前
|
开发框架 监控 Java
Spring Boot中的反应式编程最佳实践
Spring Boot中的反应式编程最佳实践
|
6月前
|
Java 程序员 Maven
基础框架 Spring
基础框架 Spring
|
6月前
|
前端开发 Java 应用服务中间件
选择 Spring Boot 进行微服务开发的 7 大理由
选择 Spring Boot 进行微服务开发的 7 大理由
85 1
|
6月前
|
XML Java 数据库连接
详解Spring核心技术
Spring可以用非容器依赖的编程方式进行几乎所有的测试工作,支持JUnit和TestNG等测试框架。
39 1
|
6月前
|
设计模式 Java Spring
Spring5深入浅出篇:Spring工厂设计模式拓展应用
Spring5深入浅出篇:Spring工厂设计模式拓展应用
|
存储 Kubernetes 安全
浅入 Spring Cloud 架构设计
微服务架构 SpringCloud 基础设计
|
Java 数据库连接 测试技术
Spring 5系统架构
Spring大约有20个模块,由1300多个不同的文件构成。这些模块可以分为核心容器、AOP和设备支持、数据访问与集成、Web组件、通信报文和集成测试、集成兼容等类。Spring 5的模块结构如下图所示。
84 0
|
前端开发 Java Spring
Spring Boot 体系架构
无论是基于1.x or 2.x,作为Spring框架的核心模块,Spring Boot用于轻松构建独立的生产级基于Spring的应用程序。它是建立在核心Spring Framework之上开发。 Spring Boot遵循一个分层的体系结构,其中每个层都与其直接在其下方或上方的层(层次结构)进行通信。在了解Spring Boot体系结构之前,我们必须了解其中的不同层和类。
352 0
|
XML 消息中间件 Java
Spring基础篇:动手感受一下松耦合
从思想上丝滑过渡到Spring的核心:如何让程序解耦。结合UML图介绍工厂+反射的方式创建Bean工厂。
133 0
下一篇
无影云桌面