目录
1.简介
SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。
2.组成
1.Spring
Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。
Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地`new`一个对象,而是让Spring框架帮你来完成这一切。
2.SpringMVC
SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。
3.mybatis
mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
4.数据传输请求发送过程
页面发送请求给控制器,
控制器调用业务层处理逻辑,
逻辑层向持久层发送请求,
持久层与数据库交互,
后将结果返回给业务层,
业务层将处理逻辑发送给控制器,
控制器再调用视图展现数据。
感悟:
突然发现mvc原理如此简单,前几年的时候觉得能背下来就不错了,
果然是好记性不如烂笔头的,理解+实践更重要吧,然后一些东西就长在了潜意识中,哈哈。
前几年我可能知其然不知其所以然,现在知其然也知其所以然了,算是程序员的哪个境界了呢。
参考:http://www.sohu.com/a/230605825_160850
程序员在英文里对应有三个单词:Coder、Programmer和Software Engineer,我觉得这三个词,生动形象地描述了程序员所需要经历的三个阶段,或者说三个境界——
Coder:只要求能够熟练使用编程环境,精通几种编程语言、开发框架和开发库,擅长写代码就可以了。这个阶段的程序员能够按照既定的设计完成编码。(明确需求基本开发是没问题的,哈哈)
Programmer:要求在coder的基础之上,精通设计模式、算法实现和编码技巧,并具备熟练应用的能力,这个阶段的程序员能够独立编码解决现实问题。(好思路要记下来,不然可能会忘记,持续升级中)
Software Engineer:要求在掌握业务知识的前提下,理解为什么这么实现,在综合考虑架构实现,权衡开发成本后,为解决业务问题提出最优方案,并能与业务人员顺畅沟通,让业务人员理解方案。编码工作达到这个阶段,才能称得上是真正的程序员,才真正实现了从工作到职业的转变。(终极目标,原来看局部现在更喜欢全局的感觉,努力前行中)。
感觉自己一二三境界都占一些,但想要成为一个顶尖的可能需要更大的环境,接触更多正规的项目,寻找更优秀的团队,自身才能发展的更快一些吧。
最初的师傅说,程序员可以改变世界,但是它好像先改变了我,努力从菜鸟向大神晋级吧。