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-->配置好国内的镜像.

  <!-- mirrors
   | This is a list of mirrors to be used in downloading artifacts from remote repositories.
   |
   | It works like this: a POM may declare a repository to use in resolving certain artifacts.
   | However, this repository may have problems with heavy traffic at times, so people have mirrored
   | it to several places.
   |
   | That repository definition will have a unique id, so we can create a mirror reference for that
   | repository, to be used as an alternate download site. The mirror site will be the preferred
   | server for that repository.
   |-->
  <mirrors>
    <!-- mirror
     | Specifies a repository mirror site to use instead of a given repository. The repository that
     | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
     | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
     |
    <mirror>
      <id>mirrorId</id>
      <mirrorOf>repositoryId</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://my.repository.com/repo/path</url>
    </mirror>
     -->
     <mirror>
        <id>******</id>
        <name>******</name>
        <url>******</url>
        <mirrorOf>******</mirrorOf>
    </mirror>
	
    <!-- 阿里云镜像 -->
    <mirror> 
    <id>alimaven</id> 
    <name>aliyun maven</name> 
    <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> 
    <mirrorOf>central</mirrorOf> 
    </mirror>

    <!-- junit镜像地址 -->
    <mirror> 
    <id>junit</id> 
    <name>junit Address/</name> 
    <url>http://jcenter.bintray.com/</url> 
    <mirrorOf>central</mirrorOf> 
    </mirror>
	
  </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。
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值