一、springboot是啥?
1.什么是springboot?
1.1springboot是spring生态圈的一个轻量级框架,换句话说springboot就是spring,是spring的一个衍生版本
1.2如果是spring框架,项目中搭建完毕,无法实现任何的代码,也就是说spring没有办法帮助开发人员去连接数据库,对数据库做增删改查,也没有办法自动把shiro集成进来,需要开发人员手动编写xml配置文件,自己进行整合
1.3springboot其实就是集成好了很多框架的spring,直接根据springboot所提供的标准化编写配置即可,不再需要编写xml配置文件,springboot官方给出的解释就是干掉xml文件,使用Java代码进行编写配置通过Java类来代替xml
二、为什么使用?
2.为什么要用springboot来代替spring?
傻瓜式开发,减少了大量配置,降低了开发人员的标准,低层次的开发人员也可以进行编写业务逻辑,不再需要了解内部运行原理以及框架的集成和整合
三、实际操作?
3.1 创建maven项目,在pro.xml文件中,将spring-boot-starter-parent 引入进来。
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.aaa</groupId> <artifactId>20190815-springboot</artifactId> <version>1.0-SNAPSHOT</version> <!--1.添加 将spring当做父级工程 2.此时 这个工程已经变成spring项目下的一个子工程。 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.22.RELEASE</version> </parent> <dependencies> <!-- 在springboot中会定义很多个starter,每一个starter都有自己不同的作用 web-start:引入项目所运行的基础环境 tomcat:最终springboot会自动把tomcat集成进项目中,不再需要使用外部tomcat进行启动 各种注解 @Controller @Service @RequestMapping @ResponseBody --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> </project> <!--<!–--> <!--其实在springboot中并没有整合mybatis,以下的jar包依赖,是mybatis公司自己为了整合springboot所提供的,并不是springboot自带的--> <!--所以需要从maven中下载jar包--> <!--–>--> <!--<dependency>--> <!--<groupId>org.mybatis.spring.boot</groupId>--> <!--<artifactId>mybatis-spring-boot-starter</artifactId>--> <!--<version>1.3.0</version>--> <!--</dependency>-->
3.2 创建入口类,在java源文件下,新建包,在包的根目录下,建立ApplicationRun.
package com.aaa.zxf.springboot; /* * 1.springboot 的入口方法 * * 2.架构基本成型。 * * 3.@SpringBootApplication 注解 * 自动加载springboot 所需要的配置 * 并将ApplicationRun 类,识别为整个项目的入口类。 *注意! * 这个类,必须要放在所有业务的上一层。 * 就是说,至少需要放在springboot包下 * * 4.最终springboot 是根据SpringApplication.run 来运行的 * */ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; //自动加载springboot 入口类 @SpringBootApplication public class ApplicationRun { public static void main(String[] args) { SpringApplication.run(ApplicationRun.class,args); } }
3.3 在包中,建立controller 包,建立后台控制器
package com.aaa.zxf.springboot.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /* * 1.RestController * 把整个 Controller, 都添加@ResponeBody 注解。 * 2.Controller * 直接返回页面,不能处理ajax请求,需要处理,还要ajax请求,还要添加 ResponseBody 注解 * */ @RestController public class TestController { @RequestMapping("/demo") public String test(){ return "检查springboot的效果。"; } }
3.4 运行项目,在浏览器中输入 localhost:8080/demo 测试是否取到了数据。
四、解析原理?
4.1 在自己的maven项目中,引入了 spring-boot-starter-parent,此时自己的工程就是Sringboot项目下的
一个子工程。
4.2 parent项目 引入了springbootdependcies ,是他的子项目。
4.3 在自己的项目中定义jar包的时候,就等同于是重写了,父类项目中的jar包,不需要版本号。