后端学习日志一


SSM(Mybatis、Spring、SpringMVC)总结

--今天看ssm项目的时候心里多了一些不算成熟的想法。

从去年九月份开始,三天打鱼两天晒网的接触了一些后端的知识。从Java基础到现在的ssm和springboot,虽然很多东西不知其所以然也知其然了。

  • Java基础:这里是编程的开始,从HelloWorld开始到接触小部分工具类,再到后面理解Java的三大特性(封装、继承、多态)、面向对象、方法的重写、继承与封装...

  • 注解与反射:注解的作用包括:1、对程序做出解释;2、可以被其他程序读取。真正理解到反射是在Spring,Spring的两大核心之一的AOP的核心就是动态代理(运用了反射)。AOP通过代理模式(运用了反射)拿到IOC容器的bean后,对其进行切面编程。

  • 多线程:理解多线程就像是理解龟兔赛跑一样,通过一些手段可以在Java程序里面开启多个线程,控制其发生的时间。

  • MySql:MySql最重要的就是CRUD(增、删、改、查),然后就是索引(提高查询效率)、事务(保证数据库的安全性与准确性,比如在银行系统中格外重要)。

  • JavaWeb:在这里初次认识了MVC(Moudel、View、Controller)三层架构、request与respons、session与cookie、servlet(后面学到的SpringMVC-controller的底层就是servlet),粗略的了解了Jsp。

  • Mybatis:就像是JDBC一样用Java去操作数据库(用Java写Sql对数据库进行增、删、改、查)。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。

  • Spring:两大核心:IOC与AOP。

    1、IOC:是一种思想,实现了控制反转,不再去被动地更改源码,业务层可以根据用户的需求主动地调用dao层(让业务层与dao层分开,降低项目耦合性)。

    2、AOP:面向切面编程,AOP通过代理模式(运用了反射)拿到IOC容器的bean后,对其进行切面编程。即Aop在不改变原有代码的情况下,去增加新的功能。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。

  • SpringMVC:是基于Java实现MVC的轻量级Web框架,围绕DispatcherServlet(SpringMVC的核心),将一个Request按顺序分发给HandlerMapping(处理器映射器)、HandlerAdapter(处理器适配器)、ViewResolver(视图解析器),最后将视图解析器返回的视图Response给用户。

  • ssm总和:用SSM写的一个简单的图书管理系统,对数据库进行的简单的增、删、改、查。

之前一直觉得学的这些东西就像一些散乱的珠子一样连接不起来,所以认为是枯燥且极其无聊的。今天回看ssm,发现一个项目把之前学的所用东西串到了一起,在大脑里面这些东西不再是凌乱散落的。

学编程的乐趣就在于解决报红和到最后整个项目运用起来的那种快感(道阻且长)。

写下一篇博客,记录自己编程路上的一些拙见,也为了激励自己。