美文网首页基础知识互联网科技Java 杂谈
Java笔记——看完这个,打通Spring难度系数

Java笔记——看完这个,打通Spring难度系数

作者: 老男孩_Misaya | 来源:发表于2018-09-15 17:57 被阅读81次

写在前面经过一段时间的整理,希望读者看完后对自己的知识点有所帮助。

写过java的都知道:所有的对象都必须创建;或者说:使用对象之前必须先创建。而使用ioc之后,你就可以不再手动创建对象,而是从ioc容器中直接获取对象。

就好像我们无需考虑对象的销毁回收一样,因为java垃圾回收机制帮助我们实现了这个过程;而ioc则是让我们无需考虑对象的创建过程,由ioc容器帮我们实现对象的创建、注入等过程。

控制反转

spring ioc容器

在Spring框架中的核心组件只有三个:Core、Context和Bean。它们构建起了整个Spring的骨骼架构,没有它们就不可能有AOP、Web等特×××。

如果说在三个核心中再选出一个核心,那就非Bean莫属了。可以说,Spring就是面向Bean的编程,Bean在Spring中才是真正的主角。

Spring为何如此流行?你会发现Spring解决了一个非常关键的问题,它可以让你对对象之间的关系转而用配置文件来管理,或者注解,也就是它的依赖注入机制。而这个注入关系在一个叫Ioc的容器中管理。Ioc容器就是被Bean包裹的对象。Spring正是通过把对象包装在Bean中从而达到管理这些对象及做一些列额外操作的目的。

核心组件协同工作

BeanFactory与ApplacationContext的区别

IOC中最核心的接口是Beanfactory提供IOC的高级服务,而ApplicationContext是建立在BeanFactory基础之上提供抽象的面向应用的服务。

3种注入方式

在Spring框架中,依赖注入(DI)的设计模式是用来定义对象彼此间的依赖。使用xml配置bean的情况下,它主要有两种类型:

Setter方法注入

构造器注入

当然,有了注解之后,使用注解的方式更加方便快捷。即自动装配功能实现属性自动注入(@autowire)。

写到这里,让我想起了最近在牛客网上看的一道选择题了:

 下面有关spring的依赖注入,说法错误的是?

 A、依赖注入通常有如下两种:设置注入和构造注入:

 B、构造注入可以在构造器中决定依赖关系的注入顺序,优先依赖的优先注入 C、当设值注入与构造注入同时存在时,先执行构造注入,再执行设值注入 D、设值注入是指IoC容器使用属性的setter方法来注入被依赖的实例。这种注入方式比较简单、直观

牛客网给出的答案是选C,不过网友们好像对答案有不同的意见哈。查看网友评论及答案

原理解析

Spring的代码还真是不好读,分得太细了,文字也是难以描述出来,看了别人有关的博客,贴了好多代码,画了好多ER图来描述关键接口或类之间的关系。这么一篇这么长文章下来,大家也未必会认真读代码,看ER图,干脆也不跟风了。就贴了一点在我看来特关键的代码,嘿嘿。

context的初始化过程

当运行ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); 构造方法ClassPathXmlApplicationContext(String configLocation)调用了this(new String[] {configLocation}, true, null);, 该构造方法具体代码如下。

从时序图来看启动上述初始化

喜欢的点点关注点点赞

JAVA架构师必了解的知识,你想进阿里吗?

性能优化

性能调优

JVM调优

Java程序性能优化

Tomcat

Mysql

应用框架源码解读

Spring概述

Spring容器

Spring AOP

Spring MVC

Spring 5新特性

Mybatis

分布式架构

分布式架构思维

架构开发基础

架构核心服务层技术

分布式环境指挥官Zookeeper

分布式消息通讯 异步于MQ

分布式缓存Nosql

Redis

Memcached

缓存开发专题

MongoDB

数据存储

高并发分流技术Nginx

分布式常见场景解决方案

微服务架构

Springboot

SpringCloud

Docker虚拟化技术

团队协作开发

Git

Maven

Jenkins

Sonar

B2C商城项目实战

进群:可以领取免费的架构师学习资料。

进群:了解最新的学习动态

进群:了解最新的阿里,京东招聘资讯

进群:获取更多的面试资料

1、具有1-5工作经验的,面对目前流行的技术不知从何下手,需要突破技术瓶颈的可以加群。

2、在公司待久了,过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的可以加群。

3、如果没有工作经验,但基础非常扎实,对java工作机制,常用设计思想,常用java开发框架掌握熟练的,可以加群。

4、觉得自己很牛B,一般需求都能搞定。但是所学的知识点没有系统化,很难在技术领域继续突破的可以加群。

5. 群号:855355016,

相关文章

  • Java笔记——看完这个,打通Spring难度系数

    写在前面经过一段时间的整理,希望读者看完后对自己的知识点有所帮助。 写过java的都知道:所有的对象都必须创建;或...

  • 不会画画也能做出棒棒的涂鸦笔记

    #拉拉的水晶书单 书名:《涂鸦笔记》 作者:迈克-罗笛 难度系数:️ 推荐系数:️️️ 阅读感悟:涂鸦笔记,它属于...

  • 难度系数

    1.消除内耗 面对公共课比较简单,主要是专业课的难度系数很大。难度肯定要有,没有就没有价值。与其说专业课是一门课程...

  • 柳井正的经营者养成笔记

    书名:《经营者养成笔记》 作者:柳井正 难度系数:️️ 推荐系数:️️️️ 阅读感悟:柳井正是迅销集团的董事长兼C...

  • 天天读英语0124

    难度系数:️️

  • 对比

    漂亮 觊觎系数高 难度系数高=实际可能性低 不漂亮 觊觎系数低 难度系数低=实际可能性大 结论 漂亮的安全

  • 第64节:Java中的Spring Boot 2.0简介笔记

    Java中的Spring Boot 2.0简介笔记 spring boot简介 依赖java8的运行环境多模块项目...

  • 难度系数与试题区分系数

    1、难度系数反映试题的难易程度,即考生在一个试题或一份试卷中的失分程度。 考试难度系数计算公式如下: Dc=1-A...

  • 倾听的难度系数

    1. 今天中午在连线时,有小伙伴说感觉真正做到同理心倾听是一件很难的事情。其实,“倾听难”倒不是因为它的难度系数有...

  • 极简手绘跟练10

    继续挑战难度系数高的造型。

网友评论

    本文标题:Java笔记——看完这个,打通Spring难度系数

    本文链接:https://www.haomeiwen.com/subject/osjtnftx.html