• SpringBoot项目创建及其核心设计思想


    参考了很多相关博客:

    springboot怎么学? - 知乎

    如何解读springboot 中约定大于配置、JPA是什么、咋用_打豆豆。的博客-CSDN博客

    SpringBoot约定大于配置到底是什么意思?_zhupanlinch的博客-CSDN博客

    SpringBoot约定大于配置的特性解读 & SpringBoot快速入门_星河_赵梓宇的博客-CSDN博客

    SpringBoot-基于spring的约定优于配置_木子松的猫的博客-CSDN博客

    目录

    Spring是什么? spring有什么缺点呢 ?

    什么是SpringBoot 呢 ?

    为什么要有SpringBoot 呢 ?

    Spring Boot 有什么优点呢 ?

    Spring Boot支持哪些内置的Servlet容器呢 ?

    SpringBoot 与 Spring 的区别是什么呢 ?

    创建SpringBoot项目

    Spring项目创建失败解决办法

    什么情况算是创建好一个Spring Boot的项目呢 ?

    输出 Hello,Spring Boot

    简单看一下Spring的项目目录

    相关路径的问题

    SpringBoot 的核心设计思想

    那么SpringBoot中有哪些约定呢?


    Spring是什么? spring有什么缺点呢 ?

    Spring是一种重量级企业的开发框架,Spring框架是为了简化企业级Java开发的.再具体来说,Spring,Spring就是包含了众多方法的IOC容器.

    虽然Spring的组件代码是轻量级的,但是它需要大量的XML进行配置,Spring注解数量越来越多,被大量使用,尤其是相同的多个注解会被大量重复的用到各个类或者方法中,这就会导致繁琐的配置及大量冗余代码

    为了减少配置做了以下工作 :

    在 Spring2.5引入了基于注解的组件扫描,消除大量针对应用程序自身组件显示XML配置,Spring3.0引入了基于java的配置,一种类型安全的可重构配置方式,可以替代XML

    但是当我们使用Spring的时候,开启它的某些特性的时候,比如事务管理和SpringMVC,还是需要XML或者java进行显示配置,启用第三方库也要显式配置,如Thymeleaf和Web视图.配置Servlet和过滤器同样是需要web.xml和Servlet初始化代码进行显式配置,组件减少了配置量,java配置也减少很多,但是Spring还需要很多配置,

    再比如还会有一些相关库的依赖,不同库的版本冲突.....

    什么是SpringBoot 呢 ?

    对于SpringBoot它是Spring的脚手架,用来简化Spring框架本身的繁琐配置,达到快速的集成和开发.最典型的减少配置,开箱即用.

    为什么要有SpringBoot 呢 ?

    SpringBoot它是Spring的脚手架,用来简化Spring开发的.最典型的减少配置,开箱即用.

    Spring Boot 有什么优点呢 ?

    快速集成框架,Spring Boot 提供了启动添加依赖的功能,⽤于秒级集成各种框架。
    内置运⾏容器,⽆需配置 Tomcat 等 Web 容器,直接运⾏和部署程序 (不需要向Spring,那样还要在Tomcat容器里面使用,Spring boot自身内置了Tomcat容器,不需要进行配置,可以直接运行和部署)
    快速部署项⽬,⽆需外部容器即可启动并运⾏项⽬

    可以完全抛弃繁琐的 XML使⽤注解和配置的⽅式进⾏开发。
    ⽀持更多的监控的指标,可以更好的了解项⽬的运⾏情况

    Spring Boot 提供了很多种插件,可以使用内置工具(Maven,Gradle)进行开发和测试Spring Boot应用程序

    Spring Boot支持哪些内置的Servlet容器呢 ?

    可以将 Spring 引导应用程序部署到任何 Servlet3.1 + 兼容的Web容器中

    SpringBoot 与 Spring 的区别是什么呢 ?

    spring和spring boot就是同一家公司的两种产品,spring是很早起的框架,有很大的社区,庞大的用户

    更具体的来说,Spring就是包含了众多方法的IOC容器.而对于Spring Boot来说,Spring Boot就是Spring的一个脚手架,只是对Spring本身的扩展,用来简化Spring框架本身的繁琐配置,使得开发,测试和部署更加的方便

    创建SpringBoot项目

    首先先要下载好Spring boot Helper 这个插件,下载后重新新建一个Spring boot的项目

    Spring项目创建失败解决办法

    出现这种错误就是Maven的jar包没有下载完成.导致失败,所以这个时候,我们应该先要配置好国内源

    有可能你会发现一点开这两个设置就会弹出一大堆Maven下载失败,这就是国内源的问题.

    首先先要配置好国内源-->也就是settings.xml-->配置好国内的镜像.

    1. <mirrors>
    2. <mirror>
    3. <id>******id>
    4. <name>******name>
    5. <url>******url>
    6. <mirrorOf>******mirrorOf>
    7. mirror>
    8. <mirror>
    9. <id>alimavenid>
    10. <name>aliyun mavenname>
    11. <url>http://maven.aliyun.com/nexus/content/repositories/central/url>
    12. <mirrorOf>centralmirrorOf>
    13. mirror>
    14. <mirror>
    15. <id>junitid>
    16. <name>junit Address/name>
    17. <url>http://jcenter.bintray.com/url>
    18. <mirrorOf>centralmirrorOf>
    19. mirror>
    20. mirrors>

    有可能你配置我的这个也可能不好使,那就去网上找找,就好了我发现多配置几个就会好使.

    然后重新创建出项目-->同时也要保证网络是良好的... 然后进行下载,初次下载可能会很慢,慢慢来就行.

    什么情况算是创建好一个Spring Boot的项目呢 ?

    当然,我们也可以运行一下,看是否能够成功

    输出 Hello,Spring Boot

    这可能是我们学习一门新技术的时候,最熟悉的给新技术招手了,发誓一定要学好它哈哈哈....

    package com.example.demo;
    
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class TestController {
        @RequestMapping("/hello")//加上路由
        public String sayHello(){
            return "hello, Spring Boot";
        }
    }

    简单看一下Spring的项目目录

    相关路径的问题

    如果不放在同级目录下就会报错-->否则SpringBoot项目就不会将Bean注入到Spring容器中.

    SpringBoot 的核心设计思想

    如何理解Springboot的核心思想 -- > "约定大于配置" 呢 ?

    我们可以用Spring与SpringBoot进行对比,以前我们基于Spring框架实现的Web应用都需要做一些与业务无关的并且只需要做一次的配置 比如 web.xml,管理jar包的依赖,将应用部署到Web容器中......

    对于SpringBoot我们不需要在进行这些繁琐的配置,这些SpringBoot已经帮我们实现好了.我们只需要实现我们所实现的业务代码即可..这就是约定大于配置的思想..

    使用这种约定大于配置的思想,在进行使用SpringBoot开发的时候,使用框架提供的默认值,但是如果提供的默认值与我们的需求不匹配的情况下,我们就可以进行自己进行配置比如 : properties或者yml来重写框架的默认值来满足我们的需求.

    用自己的话来理解 : 就是别人已经帮我们把该做的事情做好了,我们只需要做自己的事情就行了,如果别人以前做的事情不符合我们的需求,我们修改一下或者添加一下自己需要的东西就好了呗,变成自己的就行了(哪有什么岁月静好,只不过是有人为你负重前行)

    那么SpringBoot中有哪些约定呢?

    • Maven的目录结构。默认有resources文件夹,存放资源配置文件。src-main-resources,src-main-java。默认的编译生成的类都在target文件夹下面
    • spring boot默认的配置文件必须是,也只能是application.命名的yml文件或者properties文件,且唯一
    • application.yml中默认属性。数据库连接信息必须是以spring: datasource: 为前缀;多环境配置。该属性可以根据运行环境自动读取不同的配置文件;端口号、请求路径等
    • Spring Boot会自动内置Tomcat容器来运行 Web 应用,我们不需要再去单独做应用部署。
    • Spring Boot 通过扫描约定路径下的 Spring.factories文件来识别配置类,实现 Bean 的自动装配。
    • SpringBoot 约定,当你导入 spring-boot-starter-web 后,就约定了你是一个 web 开发环境。就约定了你会使用 SpringMVC。至于其它的也约定你会需要,都给你默认导入进来。当你觉得不合适的时候,可以用更少的改动,满足你的需要。
    • 当我们导入spring-boot-starter-web后,就会自动帮我们导入springMVC的相关依赖和一个内置的tomcat容器,以及spring-boot-starter-logging依赖。这使得在开发阶段可以直接通过 main 方法或是 JAR 包独立运行一个 WEB 项目。
    • SpringBoot 约定以 starter 的形式减少依赖,于是相继推出了不少常用的 starter。
  • 相关阅读:
    【机器学习】随机森林(Random Forest,简称 RF):预测光伏电站功率 || 缺失数据处理 || 重复行处理...
    1369. 获取最近第二次的活动
    vue3.x 子组件调用父组件方法并获取方法的返回值
    ruoyi-vue-pro 项目安装使用过程中的问题解决
    post请求同时上传文件并传递其他参数的前后端写法
    web前端期末大作业:青岛旅游网页主题网站设计——青岛民俗4页 HTML+CSS 民俗网页设计与制作 web网页设计实例作业 html实训大作业
    股票如何量化选股?
    SeaweedFS安全配置(Security Configuration)
    Android 11.0 Launcher3 workspaces桌面去掉下拉状态栏功能
    Java SqlSessionFactoryBean.setMapperLocations方法代码示例
  • 原文地址:https://blog.csdn.net/m0_61210742/article/details/127950595