SpringBoot笔记(一)————第一个SpringBoot项目

SSM基础

学习SpringBoot之前必须要熟悉Spring,SpingBoot不是一个完全重新写的东西,他是基于Spring来开发的,有很多默认的配置由SpringBoot为我们配置了,并且SpringBoot有自动配置的功能,有很多依赖我们甚至不需要再写版本号了,SpringBoot已经帮助我们默认集成了
SSM的基础在这里
MyBatis笔记(从零到一)
Spring5笔记(配置和零配置)
SpringMVC笔记(从零搭建一个web项目)
SSM整合(搭建一个Web脚手架)

第一个SpringBoot项目(Maven)

Spring为我们提供了一键生成项目骨架的网址

在此之前,我们主要通过Maven Archetype 来快速生成Maven项目,项目原型相对简陋,对各种IDE的支持也不太友好。然而通过Spring官方提供的Spring Initializr 来构建Maven项目,它不仅完美支持IDEA和Eclipse,而且能自动生成启动类和单元测试代码,给开发人员带来极大的便利。

使用官网构建(目前Eclipse只能用官网构建)

打开 Spring Initializr,我选择了夜间模式所以是黑色的
在这里插入图片描述
下面是添加依赖,点击出弹窗后可以进行搜索
在这里插入图片描述
移除不想要的依赖,也可以在生成之后手动修改pom.xml文件移除
在这里插入图片描述
配置好了之后点击生成项目就会把配置的项目下载下来,在线预览能在线预览项目的整体结构和生成的文件内容,SHARE会生成一个有你配置信息的链接,你可以分享给别人来看你的配置
首页
在线预览的效果
在这里插入图片描述
下载下来是一个压缩包,解压后然后使用相应的IDE打开就行,IDEA用Import Project打开,一路下一步就完事

使用IDEA构建(其实也是内置的官网链接)

1)创建一个新的项目
在这里插入图片描述
2)选择Spring Initializr
在这里插入图片描述
3)然后出来的接面就跟官网的选项一样了,就不多介绍了,配置好以后下一步
在这里插入图片描述
4)配置依赖
在这里插入图片描述

5)设置项目名称,然后点Finish就算创建完成了
在这里插入图片描述

解决Maven下载太慢

先把Maven的中央仓库配置成国内的
这里有配置 Maven笔记(从配置仓库开始)
然后配置IDEA的maven,我是用自己下载的maven,也可以直接改IDEA内置的maven的配置文件
在这里插入图片描述
然后Apply然后OK就完事
在这里插入图片描述
打开项目后也可这么进去改
在这里插入图片描述

启动!

构建好的项目什么都不用管,直接启动就完事
在这里插入图片描述
直接访问localhost:8080
在这里插入图片描述
成功启动了,而且能正常访问,错误页面是因为我们根本就没有写任何代码和页面,所以才跳转到这个错误页面

写个controller试试

新建一个HelloController
在这里插入图片描述
直接使用注解开发

@RestController
public class HelloController {

    @GetMapping("hello")
    public String hello(){
        return "hello SpringBoot";
    }
}

就这么简单,这个过程中没有写任何配置文件,一个Controller就写好了
这回使用maven的package打包成jar包来运行,双击package打包
在这里插入图片描述
然后使用 java -jar helloworld.jar 来运行
在这里插入图片描述
看到如下结果就是运行成功了
在这里插入图片描述
访问 http://localhost:8080/hello
在这里插入图片描述
成功访问!

约定大于配置

约定大于配置不需要多说了,近些年框架都朝着这个方向走的,不止Spring,还有ASP.NET等
因为有约定,所以我们不需要写配置文件,但是我们需要把controller、dao、service包都建到程序主入口的同级目录下,创建到其他目录是不能自动识别的,这就是约定,我这个项目的主入口是HelloworldApplication.java
在这里插入图片描述
所以我的包创建成这样
在这里插入图片描述
自定义banner
我们可以修改SpringBoot启动时候的这个动画,他们就管这个叫banner,中文翻译是横幅
在这里插入图片描述
那么如何修改呢,还是有个约定,在resources目录下创建一个banner.txt,SpringBoot就会自动帮助我们接管这个文件,其他的名字可不行
在这里插入图片描述
我复制来了一个佛祖,直接粘贴到这个txt文件中,启动项目的时候,控制台就能输出出来了


//                          _ooOoo_                               //
//                         o8888888o                              //
//                         88" . "88                              //
//                         (| ^_^ |)                              //
//                         O\  =  /O                              //
//                      ____/`---'\____                           //
//                    .'  \\|     |//  `.                         //
//                   /  \\|||  :  |||//  \                        //
//                  /  _||||| -:- |||||-  \                       //
//                  |   | \\\  -  /// |   |                       //
//                  | \_|  ''\---/''  |   |                       //
//                  \  .-\__  `-`  ___/-. /                       //
//                ___`. .'  /--.--\  `. . ___                     //
//              ."" '<  `.___\_<|>_/___.'  >'"".                  //
//            | | :  `- \`.;`\ _ /`;.`/ - ` : | |                 //
//            \  \ `-.   \_ __\ /__ _/   .-` /  /                 //
//      ========`-.____`-.___\_____/___.-`____.-'========         //
//                           `=---='                              //
//      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^        //
//            佛祖保佑       永不宕机     永无BUG                    //

在这里插入图片描述
这算是个彩蛋吧,也是约定的一种体现,我是在这个地址找的
https://www.bootschool.net/ascii
或者百度SpringBoot banner就有很多网址

原理初探

这个文件很重要 spring.factories ,这个文件里记录了所有SpringBoot的自动配置类,SpringBoot启动的时候会加载这个文件中的所有配置类,但是不一定生效,需要判断条件是否成立,只要导入了对应的starter,就有对应的启动器了,有了启动器,我们自动装配就会生效,然后就会配置成功
在这里插入图片描述
1.SpringBoot在启动的时候,从类路径 /META-INF/spring.factories 下获取指定的值
2.将这些自动配置的类导入容器,自动配置就会生效,帮助我们进行自动配置
3.以前需要我们手动配置的东西,现在SpringBoot帮助我们做了
4.整个JavaEE,解决方案和自动配置的东西都在spring-boot-autoconfigure-2.2.6.RELEASE.jar这个包下
5.他会把所有需要导入的组件,以类名的方式返回,这些组件就会被添加到容器
6.容器中也会存在非常多的xxxAutoConfiguration的文件,就是这些类给容器中导入了这个场景需要的所有组件,并自动配置,@Configuration
7.有了自动配置类,免去了我们手动编写配置文件的工作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值