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对象组织起来,需要的时候呼之即来,不需要的时候让它们随时待命。就这个事。