前言
时代在变化,科技在进步,程序员不努力,终将会被时代淘汰,就好比SSH(struts+spring+hibernate),SSM(Spring+SpringMVC+Mybatis)框架渐渐地被越多公司所更替掉,配置地狱嘛,受不了,如今,又了简化配置的Springboot微服务框架,当然还有分布式集群的Springcloud框架,进而大部分公司转入Springboot的怀抱,这谁又能说的定,可能以后还会出现Spring××呢,哈哈哈,废话不多说,今天写的是Springboot的简单入门,概述介绍Springboot框架,当然还是要回顾一下Spring的,毕竟是基于Spring的。
什么是Spring
Spring是一个开源的轻量级的容器框架,作者:Rod Johnson 。
Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。
Spring的重要两大思想
- IOC:控制反转,依赖注入(DI)和面向接口实现松耦合。
- AOP:面向切面编程,基于切面(AOP)和惯例进行声明式编程。
什么是SpringBoot
SpringBoot就是一个javaweb的开发框架,和SpringMVC类似,对比其他javaweb框架的好处,官方说是简化开发,约定大于配置,能迅速的开发web应用,几行代码开发一个http接口。
Spring Boot 基于 Spring 开发,Spirng Boot 本身并不提供 Spring 框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于 Spring 框架的应用程序。也就是说,它并不是用来替代 Spring 的解决方案,而是和 Spring 框架紧密结合用于提升 Spring 开发者体验的工具。Spring Boot 以**约定大于配置的核心思想**,默认帮我们进行了很多设置,多数 Spring Boot 应用只需要很少的 Spring 配置。同时它集成了大量常用的第三方库配置(例如 Redis、MongoDB、Jpa、RabbitMQ、Quartz 等等),Spring Boot 应用中这些第三方库几乎可以零配置的开箱即用。
言而总之,SpringBoot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架 ,生态足够完善,成为Java 领域最热门的技术。
SpringBoot的优点
- 开箱即用,提供各种默认配置来简化项目配置。
- 没有冗余代码生成和XML配置的要求。
- 内嵌式容器简化Web项目
创建项目
环境: java1.8 ,Maven-3.6.1,SpringBoot 2.x
工具:IDEA
当然也可以创一个Maven空项目,导入SpringBoot的依赖,创建启动类,但是嘛,新手就是用一体化创建的不香吗?
-
创建新项目,选择spring initalizr,然后点击Next。
-
填写项目的信息,继续Next
-
选择初始化的组件(初学勾选 Web 即可),继续Next
-
最后Finish创建项目
项目结构分析
- BoottestApplication.java:boot项目的启动类
- static:存放静态资源的地方,例如css,js,image…
- templates:存放前端模板的地方,就是前端的html页面
- application.properties:项目的配置文件,也可用application.yml的格式来写。
- pom.xml:项目的组件依赖,利用maven从远程仓库下载到本地项目。
pom.xml分析
<!-- 项目的父依赖 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.5.RELEASE</version>
<relativePath/>
</parent>
<dependencies>
<!-- web项目的启动器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- springboot单元测试 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<!-- 剔除依赖 -->
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<!-- 打包插件 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
我们来个helloworld,感受一下Springboot。
-
到在主程序的同级目录下,新建一个controller包,一定要在同级目录下,否则识别不到
-
在controller创建一个HelloController类
注解应该看得懂吧?springMVC的知识哦,@RestController表示这是一个返回字符串或者JSON数据的控制类,@RequestMapping("/hello")是页面请求路径 :http://localhost:8080/hello springboot的端口号默认为8080,当然可用取配置文件里面改哦
@RestController public class HelloController { @RequestMapping("/hello") public String hello() { return "Hello World,"; } }
-
编写完毕,运行启动类,打开浏览器,输入网址进行访问。
启动成功如下,然后到浏览器访问地址http://localhost:8080/hello ,图中所指就是当前项目启动所用的端口号,没配置默认为8080
至此,一个超级简单的Springboot就完成,接下来,介绍一个
花里胡哨的东西,哈哈哈
到项目下的 resources 目录下新建一个banner.txt ,然后编写LOGO的banner图案。
图案可以到:https://www.bootschool.net/ascii 这个网站自定义生成,然后拷贝到文件中即可!
然后再次启动项目,你会看到图案~~~
最后
有空再更新自己关于Springboot其它的知识与运用~~
PS:https://youth.hcode.top 这个网站是用Springboot开发的哦~