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)伸手获得,主要解决模块间的耦合关系.那么模块是又什么组成的呢?在我看来,模块的最小单位是类,多个类的组合就是模块.关于在根模块 ...
随机推荐
- NetCore实现全局模型绑定异常信息统一处理
本文主要讲解NetCore如何使用中间件捕获模型绑定的异常信息 场景 在.NET Core 中请求中,如果参数的类型错误,我们在控制器的定义的方法是不会执行的,当我们需要捕获模型绑定的异常信息时,可以 ...
- Certified Robustness to Adversarial Examples with Differential Privacy
目录 概 主要内容 Differential Privacy insensitivity Lemma1 Proposition1 如何令网络为-DP in practice Lecuyer M, At ...
- 什么是NaN?它的类型是什么?如何可靠的测试一个值是否等于NaN?
NaN属性表示"不是数字"的值.这个特殊值是由于一个操作数是非数字的(例如"abc"/4)或者因为操作的结果是非数字而无法执行的. 虽然看起来很简单,但是NaN ...
- SpringCloud创建项目父工程
1.说明 本文详解介绍Spring Cloud项目的父工程创建, 由于Spring Cloud项目下有很多模块组件, 需要先创建一个大的父工程项目, 然后在下面创建各个子工程模块. 2.创建父工程 这 ...
- 【】URL中的文本IPv6地址的格式RFC2732
RFC2732规范中URL中的文本IPv6地址的格式, 截取其中重要部分原文如下: RFC 2732 Format for Literal IPv6 Addresses in URL's Decemb ...
- MongoDB高级应用之数据转存与恢复(5)
1.MongoDB索引 1.1.创建索引 db.books.ensureIndex{{number:1}} 创建索引同时指定索引的名字 db.books.ensureIndex({number:1}, ...
- Azure Terraform(九)GitHub Actions 实现 Infra 资源的自动化部署
思路浅析 使用 Terraform Code 部署 Azure 基础设施资源是特别受欢迎的,我曾经有写文章分享过利用 Azure DevOps 自动部署 Terraform Code 所描述的 Azu ...
- Flask_环境部署(十六)
flask自带的服务器,无法满足性能要求,我们这里采用Gunicorn做wsgi容器,来部署flask程序并使用 Nginx 做前端代理实现分流.转发.负载均衡,以及分担服务器的压力. Gunicor ...
- HDU-1004(C语言描述)
Let the Balloon Rise 输入 输入包含多个测试用例.每个测试用例都以数字 N (0 < N < = 1000) 为起点, 分布的气球总数.下 N 行包含一个颜色.气球的颜 ...
- kafka学习笔记(三)kafka的使用技巧
概述 上一篇随笔主要介绍了kafka的基本使用包括集群参数,生产者基本使用,consumer基本使用,现在来介绍一下kafka的使用技巧. 分区机制 我们在使用 Apache Kafka 生产和消费消 ...