spring
Spring的优点:Spring是一个免费的,轻量级的控制反转(IoC)和面向切面(AOP)的容器(框架)。
1、Spring是一个开源免费的框架 , 容器 .
2、Spring是一个轻量级的框架 , 非侵入式的 .
3、对事物的支持 , 对框架的支持
4,IOC:控制反转;AOP:面向切面编程
-
IOC:是依赖注入的一种实现方式,可以使用xml文件进行配置,也可以用注解;在进行配置之后,spring IOC container 就会根据实体类进行对象的创建,在需要使用对象的使用就可以直接从容器当中直接获取;这个过程就是控制反转,对象不是有程序本身创建,而是由spring框架进行创建,这就是控制;程序本身不创建对象,而是接收对象,这就是反转;
-
AOP:利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
-
实现AOP的方式:1,使用spring提供的接口进行实现,2,自定义类来实现,3,使用注解实现;
-
Annotation processing is not supported for module cycles,产生循环依赖,所以在server层要使用两层,就是避免了循环调用;
spring mvc
是一种设计模式: mvc:M是模块层,V是显示层,C是控制层;在设计的时候尽量避免以上的三层在使用的时候发生冲突,这三层是相互独立的,互不干扰的;
mybatis
-
mybatis的优点:
-
开发效率高,性比,hibernate学习成本低;
-
具有较高的SQL灵活性;
-
支持高级映射(一对一,一对多,多对多)
-
还有结果集的封装
-
MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(实体类对象)为数据库中的记录。
-
通过配置generator可以自动生成entity,dao和xml配置文件
-
工作流程:
加载配置文件。需要加载的配置文件包括全局配置文件(SqlMapConfig.xml)和SQL(Mapper.xml)映射文件,其中全局配置文件配置了Mybatis的运行环境信息(数据源、事务等),SQL映射文件中配置了与SQL执行相关的信息。 创建会话工厂。MyBatis通过读取配置文件的信息来构造出会话工厂(SqlSessionFactory)。 3、创建会话。拥有了会话工厂,MyBatis就可以通过它来创建会话对象(SqlSession)。会话对象是一个接口,该接口中包含了对数据库操作的增删改查方法。 4、创建执行器。因为会话对象本身不能直接操作数据库,所以它使用了一个叫做数据库执行器(Executor)的接口来帮它执行操作。 5、封装SQL对象。在这一步,执行器将待处理的SQL信息封装到一个对象中(MappedStatement),该对象包括SQL语句、输入参数映射信息(Java简单类型、HashMap或POJO)和输出结果映射信息(Java简单类型、HashMap或POJO)。 6、操作数据库。拥有了执行器和SQL信息封装对象就使用它们访问数据库了,最后再返回操作结果,结束流程。
mybatis-plus
MyBatis:一种操作数据库的框架,提供一种Mapper类,支持让你用java代码进行增删改查的数据库操作,省去了每次都要手写sql语句的麻烦。但是!有一个前提,你得先在xml中写好sql语句,也是很麻烦的。 MP的存在就是为了稍稍弥补Mybatis的不足。在我们使用Mybatis时会发现,每当要写一个业务逻辑的时候都要在DAO层写一个方法,再对应一个SQL,即使是简单的条件查询、即使仅仅改变了一个条件都要在DAO层新增一个方法,针对这个问题,MP就提供了一个很好的解决方案,它可以让我们避免许多重复性的工作。