Spring之路(1)--存在即合理、流行即道理

简介: 本文目录1. 拦路虎2. 容器3. 理念优势4. Spring是啥

1. 拦路虎

提示!注意!警告!


Spring可能是Java初学者路线上的一个拦路虎。


何谓拦路虎?


首先,路只有这一条,不学Spring,几乎就没法再Java这条道路上深耕,是为拦路。


其次,虎者,厉害也。Spring学起来确实有难度,很多人初学者看了几章Spring入门的书,就以为掌握了Spring,结果连为何要用Spring,Spring是什么都不晓得。有点嚣张嘿。


我辈代码中人,明知山有虎,却偏向虎山行。昔日景阳冈武松喝酒打虎,威风凛凛;今夕互联网猫哥喝水打字,不亦乐乎。是时候,探一下Spring的深浅,展示真正的技术了。


2. 容器

要理解Spring,需要先从理解何为容器开始。


Spring不是一个类、也不是一个方法、也不是一个对象、也不是一种数据结构、也不是一种设计模式。Spring是一种容器。


正常情况下,Java中对象,都需要程序员自己构建,例如:


Student student=new Student();

1

而在Spring中,对象早已存在,只需要从容器中获取,例如:


Student student=appliationContext.getBean("student",Student.class);//appliationContext就是Spring容器的代言人

1

暂且不考虑具体语法,也不考虑具体是如何实现的。


我们只需要认识到,不用Spring和用Spring,核心的区别就是:不用Spring,自己搞对象;用了Spring,组织(容器)来帮忙。


3. 理念优势

想必大家也看到了,如果就是以学生上课说话这件事来论,使用Spring毫无优势可言。


//不使用Spring,代码更加简洁

Student student=new Student();

student.speak();

//使用Spring

Student student=appliationContext.getBean("student",Student.class);

student.speak();

1

2

3

4

5

6

但是这个世界上,很多事都挺复杂,远远不止学生上课讲话这么简单。


我们以干工程为例,不使用Spring,就好比你是个包工头,也没有正式的公司,也没有正式在职员工。今天干活需要几个人就临时从劳务市场招聘几个(new创建几个),用完了就结账走人。


这种方式,只能是小打小闹,因为不够稳定啊,人员也不够可靠。


使用Spring,那就是正儿八经的成立公司,公司就是人力、物力资源的容器,所有员工按岗位、技能在列,想干什么工作就让专业的人去干。看似可能比较麻烦,但是对于大项目规模化运作,不可或缺。


4. Spring是啥

可以总结下了,Spring就是个容器,把Java对象组织起来,需要的时候呼之即来,不需要的时候让它们随时待命。就这个事。

相关文章
|
缓存 Java Go
解决Spring Data JPA查询存在缓存问题及解决方案
解决Spring Data JPA查询存在缓存问题及解决方案
663 0
|
Java 容器 Spring
聊聊Spring的bean覆盖(存在同名name/id问题),介绍Spring名称生成策略接口BeanNameGenerator【享学Spring】(中)
聊聊Spring的bean覆盖(存在同名name/id问题),介绍Spring名称生成策略接口BeanNameGenerator【享学Spring】(中)
|
6月前
|
Java Spring 容器
[Spring] 字节一面~Spring 如何解决循环依赖问题 以及 @resource 与 @autowire 同时存在时谁生效
[Spring] 字节一面~Spring 如何解决循环依赖问题 以及 @resource 与 @autowire 同时存在时谁生效
187 0
|
安全 前端开发 JavaScript
Spring Security系列教程24--Spring Security环境中存在的跨域问题
前言 在前后端不分离时,我们利用前面讲过的Spring Security的各种知识点,就可以实现对项目的权限管控。但是在前后端分离时,尤其是在引入了Spring Security后的前后端分离时,我们从前端发来的请求,就会存在一些问题。这些问题就是跨域而导致的问题! 对于前后端分离时,跨域而产生的安全问题,我们该怎么解决呢?接下来请跟着 一一哥 来学习如何解决吧! 在解决跨域问题之前,我们先来了解一下何为跨域问题,怎么产生的跨域问题,怎么解决这个跨域问题。 一. 跨域问题的由来 1. 同源策略 跨域问题的产生,源自浏览器的一个同源策略。 1.1 同源策略的概念 同源策略是由 Netscap
316 0
|
IDE Java 程序员
聊聊Spring的bean覆盖(存在同名name/id问题),介绍Spring名称生成策略接口BeanNameGenerator【享学Spring】(下)
聊聊Spring的bean覆盖(存在同名name/id问题),介绍Spring名称生成策略接口BeanNameGenerator【享学Spring】(下)
聊聊Spring的bean覆盖(存在同名name/id问题),介绍Spring名称生成策略接口BeanNameGenerator【享学Spring】(下)
|
XML 存储 Java
聊聊Spring的bean覆盖(存在同名name/id问题),介绍Spring名称生成策略接口BeanNameGenerator【享学Spring】(上)
聊聊Spring的bean覆盖(存在同名name/id问题),介绍Spring名称生成策略接口BeanNameGenerator【享学Spring】(上)
聊聊Spring的bean覆盖(存在同名name/id问题),介绍Spring名称生成策略接口BeanNameGenerator【享学Spring】(上)
|
XML 前端开发 Java
【小家Spring】如何证明Spring是存在父子容器的?顺便解决Spring MVC访问一直404问题(配置文件没问题)(下)
【小家Spring】如何证明Spring是存在父子容器的?顺便解决Spring MVC访问一直404问题(配置文件没问题)(下)
【小家Spring】如何证明Spring是存在父子容器的?顺便解决Spring MVC访问一直404问题(配置文件没问题)(下)
|
前端开发 Java 容器
【小家Spring】如何证明Spring是存在父子容器的?顺便解决Spring MVC访问一直404问题(配置文件没问题)(上)
【小家Spring】如何证明Spring是存在父子容器的?顺便解决Spring MVC访问一直404问题(配置文件没问题)(上)
【小家Spring】如何证明Spring是存在父子容器的?顺便解决Spring MVC访问一直404问题(配置文件没问题)(上)
|
XML Java 网络虚拟化
定时任务莫名停止,Spring 定时任务存在 Bug???
Hello~各位读者新年好,我是鸭血粉丝(大家可以称呼我为「阿粉」)。这里阿粉给大家拜个年,祝大家蒸蒸日上烫烫烫,年年有余屯屯屯。
定时任务莫名停止,Spring 定时任务存在 Bug???
|
缓存 Java Spring
Spring源码-存在AOP的循环依赖(Spring Framework 5.3.7-SNAPSHOT)
本篇内容主要对存在AOP的循环依赖进行三级缓存的分析
124 0