SpringBoot 简单介绍
一、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包,不需要版本号。
SpringBoot 简单介绍的更多相关文章
- springboot简单介绍
1.springboot简单介绍 微服务架构 Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程. 该框架使用了特定的方 ...
- CAS单点登录原理简单介绍
1. SSO简介 1.1 单点登录定义 单点登录(Single sign on),英文名称缩写SSO,SSO的意思就是在多系统的环境中,登录单方系统,就可以在不用再次登录的情况下访问相关受信任的系统. ...
- SpringBoot2.0源码分析(一):SpringBoot简单分析
SpringBoot2.0简单介绍:SpringBoot2.0应用(一):SpringBoot2.0简单介绍 本系列将从源码角度谈谈SpringBoot2.0. 先来看一个简单的例子 @SpringB ...
- 关于如何在其他包中写controller和简单介绍@SpringBootApplication
本文参考博客:https://blog.csdn.net/u013473691/article/details/52353923 关于@Configuration和@Bean参考博客:https:// ...
- [原创]关于mybatis中一级缓存和二级缓存的简单介绍
关于mybatis中一级缓存和二级缓存的简单介绍 mybatis的一级缓存: MyBatis会在表示会话的SqlSession对象中建立一个简单的缓存,将每次查询到的结果结果缓存起来,当下次查询的时候 ...
- 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍
一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...
- 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍
一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 ...
- yii2的权限管理系统RBAC简单介绍
这里有几个概念 权限: 指用户是否可以执行哪些操作,如:编辑.发布.查看回帖 角色 比如:VIP用户组, 高级会员组,中级会员组,初级会员组 VIP用户组:发帖.回帖.删帖.浏览权限 高级会员组:发帖 ...
- angular1.x的简单介绍(二)
首先还是要强调一下DI,DI(Denpendency Injection)伸手获得,主要解决模块间的耦合关系.那么模块是又什么组成的呢?在我看来,模块的最小单位是类,多个类的组合就是模块.关于在根模块 ...
随机推荐
- B. Petya and Exam
B. Petya and Exam 题目链接 题意 给你一串字符,在这个串中所有出现的字符都是\(good\)字符,未出现的都是\(bad\)字符, 然后给你另一串字符,这个字符串中有两个特殊的字符, ...
- Hive SQL优化思路
Hive的优化主要分为:配置优化.SQL语句优化.任务优化等方案.其中在开发过程中主要涉及到的可能是SQL优化这块. 优化的核心思想是: 减少数据量(例如分区.列剪裁) 避免数据倾斜(例如加参数.Ke ...
- uniapp医院预约挂号微信小程序
开头感言:最近看小程序很火,也想弄一个看看,用了一些时间从0开始写,也记录了一些笔记,自己用框架写的模板,不是很精美,后面会慢慢优化,功能也是后面慢慢加上去的, 其中功能这块,起初只是一些简单的功能, ...
- A Deep Neural Network’s Loss Surface Contains Every Low-dimensional Pattern
目录 概 相关工作 主要内容 引理1 定理1 定理2 A Deep Neural Network's Loss Surface Contains Every Low-dimensional Patte ...
- [object_detect]使用MobileNetSSD进行对象检测
使用MobileNetSSD进行对象检测 1.单帧图片识别 object_detection.py # 导入必要的包 import numpy as np import argparse import ...
- 对比显示每条线路的价格和该类型线路的平均价格,分别使用子查询和 exists 获取线路数量
查看本章节 查看作业目录 需求说明: 对比显示每条线路的价格和该类型线路的平均价格 分别使用子查询和 exists 获取线路数量超过"出境游"线路数的线路类型信息,要求按照线路数升 ...
- 编写Java程序,使用循环结构打印出九九乘法表
编写Java程序,使用循环结构打印出九九乘法表 效果如下: 实现代码: public class Multiplication99 { public static void main(String[] ...
- 20道JavaScript经典面试题
该篇文章整理了一些前端经典面试题,附带详解,涉及到JavaScript多方面知识点,满满都是干货-建议收藏阅读 前言 如果这篇文章有帮助到你,️关注+点赞️鼓励一下作者,文章公众号首发,关注 前端南玖 ...
- 表达式树扩展 动态生成表达式树插件 Sy.ExpressionBuilder。
CURD中,基础查询我感觉还是很烦人的一个浪费时间的工作,我经历过远古时代的GetAll(string name,int age),这种方式写服务的时候真的是心中一万个草泥马飞过,后面逐渐的变成了传一 ...
- STM32新建模板之库文件
一.新建项目文件夹 在桌面创建项目文件夹,用于存放工程,命名为"stm32f10x_project" 在项目文件夹中创建3个文件夹,分别命名为:CMSIS.OUTPUT.STM32 ...