zoukankan      html  css  js  c++  java
  • 1.springboot简介

    一、回顾

    以前我们在一个新项目开发之前,首先会先进行技术选型:

    1、spring是最毫无悬念的选择;

    2、但面对DB层面的框架,就有很多选择,例如hibernate、mybatis或者有的直接用传统的JDBC而不是ORM框架;

    3、再如web层面的选择,从一开始流行的struts、struts2再到springmvc异军突起慢慢占领市场;

    总的来说,都离不开三大框架;所谓的三大框架,其实就是将各个框架的功能整合在一起,使得开发人员能快速开发,提高开发效率,这里就提到一个关键词:整合。

    相信有过整合经验的都踩过坑,就拿spring、springmvc得整合例子来说,一般都会有两个spring的配置文件,一个是是用来配置springmvc的,例如视图解析器等;一个是用来配置spring的,例如事务管理器等;两个配置文件都会根据自身配置扫描包的路径去把添加了@Controller、@Service注解的组件添加到IOC容器中,那么这可能就有问题,假如项目结构包是com.xxx,并且两个配置文件扫描的包路径都是com.xxx,可能就会出现请求无法映射到controller以及页面无法跳转问题,根源在于:spring 是父容器, springmvc是子容器, 父容器在项目启动的时候会先加载,所以父容器会把扫描到的组件都会存放到spring的容器,而不会放到springmvc子容器中,当访问项目的时候,springmvc找不到处理器映射器,和其对应的Controller,进而报404错误!所以一般我们都会在springmvc配置文件中配置,只扫描带有@Controller注解的组件而spring配置文件则会扫描排除带有@Controller的组件来解决;然后这只是整合过程中的一个小问题;更繁琐的在于整合过程中,我们需要每整合一点功能就进行测试下,防止全部整合完启动web容器时报了一堆的异常而且又无从解决。

     

    二、springboot主角登场

    1、什么是springboot

    springboot不是什么新的技术,其设计的目的是用来简化spring应用的初始搭建和开发过程,它使用了特定的方式来进行配置,从而使我们不再需要定义样板化的配置。

    2、springboot的优点

    嵌入式的web容器,只要启动springboot的主启动程序就能启动web容器,默认使用的使Apache的Tomcat;

    可以创建独立的spring应用程序,并且还能根据选择勾选的功能模块,快速和主流框架集成;

    提供各种各样的starters,比如我们需要使用reids,那么引入redis的starters即可,里面的jar包引入和jar包版本都会帮我们控制好;

    大量的自动配置,所谓的约定大于配置,简化开发,而且我们也可修改默认值;

    不再需要配置web.xml文件,比如加载spring和springmvc的配置,配置servlert、listener等;

    等等等等......

    3、springboot的缺点

    任何技术都两面性,在spring整合配置复杂的情况下,我们可以比较清楚的了解各个框架整合的功能;

    而springboot大量的自动配置虽然简化了初始搭建,但它是对spring框架的再封装,如果对spring框架不是很了解,要进一步理解springboot的封装、自动化配置等也不是那么容易,总结就是入门容易,精通会比较困难。

  • 相关阅读:
    关于Flutter引用image_picker插件报错
    关于Flutter页面布局
    关于Flutter和Android混合开发引入flutter_boost插件-有更新,见底部
    关于uni-app的scroll-into-view
    关于全站http切换到https
    关于canvas画原子运动模型
    [BS-00] const限定常量或者变量(初次赋值后),其值不允许被改变
    认识C和内存管理
    C语言的内存管理
    堆heap和栈Stack(百科)
  • 原文地址:https://www.cnblogs.com/Json1208/p/9734813.html
Copyright © 2011-2022 走看看