1.spring框架
spring框架的的主要特点:
- Inversion of Control (IoC) : 控制反转 , spring框架创建对象,管理对象,以及管理对象之 间的依赖关系。
- dependency injection (DI) :依赖注入 , 通过构造函数,或set方法, 给对象的属性赋值。 IoC是通过DI来实现的。
- bean: java类型 , 由spring框架创建的对象,就被称为bean . (pojo: 纯java类(私有的属 性,公开的get/set方法这种类。))
- Aspect-Oriented Programming (AOP): 面向切面编程 , 对比OOP(面向对象编程)
spring注解的使用
- @component:在类前面添加这个注解,spring框架,看到这个注解,就会在spring容器中创建对象
- @Configuration:在类前这个注解,spring框架,看到这个注解,就会在spring容器中创建对象
- @Bean:一般在方法前面添加这个注解,spring框架会在容器中创建这个对象
- 还有常用的以下几个注解:@Service、@Controller、@Repository、@Autowired、@Qualifier。
spring框架优点:
- 低侵入式设计,代码污染极低
- 独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once,Run Anywhere的承诺
- Spring的DI机制降低了业务对象替换的复杂性,提高了组件之间的解耦
- Spring的AOP支持允许将一些通用任务如安全、事务、日志等进行集中式管理,从而提供了更好的复用
- Spring的ORM和DAO提供了与第三方持久层框架的良好整合,并简化了底层的数据库访问
- Spring并不强制应用完全依赖于Spring,开发者可自由选用Spring框架的部分或全部
2.spring mvc框架
2.1WEB项目
java的web项目
- servlet (extend HttpServlet) , 重写service方法
- jsp , 显示servlet转发到jsp的数据
- web.xml , 配置servlet的路径
- servlet, jsp需要在容器中运行,比如: 把java web项目部署到tomcat中,启动tomcat之 后,就可以访问web项目了。 编码效率比较低:每次都需要写servlet类,然后要做配置,请求参数需要自己获取,自己封 装为对应的对象。。。。。
spring mvc框架的web项目
- spring框架中包含了spring webmvc模块。通常把这个模块称为spring mvc框架。
- MVC: mvc是一种web软件开发常使用的软件架构。
- M-model : 实体类, dao , service ,统称为model.
- V-View : 界面,展示数据 C-Controller :控制层, 调用业务层,转发到对应的view.
- DispatcherServlet.java , web.xml中配置这个servlet。
- Controller(程序员写对应的类) , jsp (程序员写对应的jsp文件)
- ViewResolver & jsp , (jsp的路径配置 , spring.xml配置文件做配置)
- HandlerMapping (java的Controller类型, 映射为url , spring.xm配置文件中配置) 可以用注解简化配置:HandlerMapping
2.2spring mvc注解的使用
controller 中注解的使用
- @Controller : 类的前面
- @RequestMapping(url) : 类前 ,这个类的请求路径 (类中的方都属于某个路径的子路径 了), 方法前,类中的方法,可以映射为一个请求地址
3.spring boot框架
基本概念
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的创建、运行、调试、部署等。使用Spring Boot可以做到专注于Spring应用的开发,而无需过多关注XML的配置。Spring Boot使用“习惯优于配置”的理念,简单来说,它提供了一堆依赖打包,并已经按照使用习惯解决了依赖问题。使用Spring Boot可以不用或者只需要很少的Spring配置就可以让企业项目快速运行起来。
优点
- Spring Boot而且内嵌了各种servlet容器,Tomcat、Jetty等,现在不再需要打成war包部署到容器中,Spring Boot只要打成一个可执行的jar包就能独立运行,所有的依赖包都在一个jar包内。
- 默认配置,内嵌容器。
- Spring Boot提供一系列端点可以监控服务及应用,做健康检测。
- 没有代码生成和xml配置文件。
缺点
- 缺少服务注册发现等外围方案。
- 缺少外围监控集成方案。
- 缺少外围安全管理方案。
- 将原有的spring项目转成springboot项目,很困难,更适合新建的项目。
- 集成度很高,对于了解底层不容易。
4.Mybatis plus
基本概念
MyBatis-Plus(简称 MP)是一个基于 MyBatis 的增强工具,它对 Mybatis 的基础功能进行了增强,但未做任何改变。使得我们可以可以在 Mybatis 开发的项目上直接进行升级为 Mybatis-plus,正如它对自己的定位,它能够帮助我们进一步简化开发过程,提高开发效率。Mybatis-Plus 其实可以看作是对 Mybatis 的再一次封装,升级之后,对于单表的 CRUD 操作,调用 Mybatis-Plus 所提供的 API 就能够轻松实现,此外还提供了各种查询方式、分页等行为。同时,开发人员还不用去编写 XML,这就大大降低了开发难度
优点
- 依赖少:仅仅依赖 Mybatis 以及 Mybatis-Spring 。
- 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 。
- 预防Sql注入:内置 Sql 注入剥离器,有效预防Sql注入攻击 。
- 支持代码生成:采用代码或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 层代码(生成自定义文件,避免开发重复代码),支持模板引擎、有超多自定义配置等。
缺点
- mybatisplus只支持一个主键。
- mybatisplus分页与排序是绑定的。