目录

01,什么是springboot

02,如何使用springboot


01,什么是springboot

springboot是一个基于spring框架开发出来的一个新的框架,目的是为了简化spring应用开发,springboot中集成了很多开发所需 要的组件。

02,如何使用springboot

A:环境准备:这里使用的是本人的环境。

eclipse

maven3.3.3

jdk1.8

springboot1.5.10

 B:创建一个maven项目

此处需要导入maven项目的父项目,通俗的来说就是springboot版本。本次使用的项目版本springboot1.5.10。需要注意的一点就是springboot2.0及以上需要的jdk环境在1.8版本以上。

注:如果在圆圈中的jdk不是我们对应的版本,这是需要我们指定版本,在springboot项目的pom文件中写入:

 <properties>
<java.version>1.8</java.version>
</properties>

C:导入启动器

springboot根据不同的开发需求提供了不同的启动器。比如用于web开发的启动器,用于email开发的启动器,用于缓存开发的启动器。这些启动器,本质就是一堆架包的集合。

我们点入pom,就会看到一堆架包集合的坐标,比如点入web启动器的pom。

本次使用的启动器是

spring-boot-starter-web

在springboot项目中写入web启动器

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>

写入好之后,我们更新项目,maven将会自动帮助我们下载开发web所需的jar包。如下图所示。

疑问:为什么启动器不需要写版本号呢?

之前说过,springboot是一堆jar的集合,而web启动器是springboot用于开发web的一个架包集合,在这个父项目的pom文件中以前将开发web的各种架包版本号确定了,我们无需再写启动器的版本号。下图为点入web启动器的pom文件。

注意1:如果需要将springboot项目打包成一个可编译的jar文件,只需要到springboot项目的pom文件加入一个build就可以了。

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

本次就不用打包成一个jar包到本地了,直接在eclipse上运行。

D:编写主程序类(入口类)

springboot需要我们编写一个主程序类来说明该项目是一个springboot项目。该主程序类需要在类名上添加一个名为@SpringBootApplication,该注解标注该类是springboot的主配置类。

@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}

通过给@SpringBootApplication注解,可以在使用spring功能的时候,可以实现自动配置。通过点击进入该注解,该注解内部如下所示:

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented @Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = {
@Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {

我们发现给注解中的实现有很多的注解,例如@SpringBootConfiguration注解表示给类是springboot的配置类,在点入该注解会发现一个注解:@tConfiguration,这个注解就是spring底层的配置类,给注解可以替换spring的配置文件,这也说明了springboot无需配置spring配置文件。

@EnableAutoConfiguration注解:该注解表示开启自动配置功能。

创建一个springboot项目的时候,我们直接通过开启启动类就可以在浏览器访问项目,在没有配置springMVC,Spring就可以访问控制器,实现这个功能的注解就是@EnableAutoConfiguration。

我们点入该注解:

@AutoConfigurationPackage
@Import(EnableAutoConfigurationImportSelector.class)
public @interface EnableAutoConfiguration {

@AutoConfigurationPackage注解:自动配置包,通过该注解,将该主程序类同级或者子包下的类自动配置到spring容器。我们进入该注解:

会发现一个注解@Import(AutoConfifigurationPackages.Registrar.class): 该注解是一个spring的底层注解,用来给spring容器导入组件。

E:编写控制器

springboot项目无需配置springmvc就可使用springmvc的功能,之前大致的实现功能已经介绍完毕了。现在直接写一个控制器:

@Controller
public class AppController {
@ResponseBody
@RequestMapping("/show")
public String show(){
return "你好!世界";
}}

之前也有说过,在自动配置时,扫描自动配置包的原理是扫描主程序类同级类或者子包下的类,如果控制器所在位置不满足这个要求,自动配置扫描器将扫描不到该控制器。

F:测试

在选择主程序类或主程序界面右击>>RUN>>java application启动springboot项目,在浏览器打入访问路径:http://localhost:8080/show

访问结果如下:

G:总结

了解到springboot自动配置和自动配置扫描器的扫描规则!!!!!

01-初识springboot的更多相关文章

  1. [01] 初识SpringBoot:Hello World

    引用百科的一句话来说,SpringBoot是一款全新框架,设计目的是为了简化新Spring应用的初始搭建以及开发过程. 怎么讲呢,首先要明确的就是SpringBoot不是替代Spring的一种解决方案 ...

  2. 初识springboot(傻瓜式教程)

    初识springboot(傻瓜式教程) 项目所需的版本 IDEA 2018 maven 3.x jdk-1.8 IDEA创建spring-boot项目(maven方法) 1.创建一个maven工程 点 ...

  3. TensorFlow --- 01初识

    由于博客园对Markdown支持不够友好,阅读此文请前往云栖社区:TensorFlow --- 01初识

  4. day24 01 初识继承

    day24 01 初识继承 面向对象的三大特性:继承,多态,封装 一.继承的概念 继承:是一种创建新类的方式,新建的类可以继承一个或者多个父类,父类又可称基类或超类,新建的类称为派生类或者子类 cla ...

  5. day22 01 初识面向对象----简单的人狗大战小游戏

    day22 01 初识面向对象----简单的人狗大战小游戏 假设有一个简单的小游戏:人狗大战   怎样用代码去实现呢? 首先得有任何狗这两个角色,并且每个角色都有他们自己的一些属性,比如任务名字nam ...

  6. springboot(一).初识springboot以及基本项目搭建

    初识springboot 以及基本项目搭建 由于新的项目需要搭建后台框架,之前的springmvc架构也使用多次,在我印象中springboot的微服务架构更轻量级更容易搭建,所以想去试试spring ...

  7. 081 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 06 new关键字

    081 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 06 new关键字 本文知识点:new关键字 说明:因为时间紧张,本人写博客过程中只是 ...

  8. 080 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 05 单一职责原则

    080 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 05 单一职责原则 本文知识点:单一职责原则 说明:因为时间紧张,本人写博客过程中只是 ...

  9. 079 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 04 实例化对象

    079 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 04 实例化对象 本文知识点:实例化对象 说明:因为时间紧张,本人写博客过程中只是对知 ...

  10. 078 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 03 创建类

    078 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 03 创建类 本文知识点:创建类 说明:因为时间紧张,本人写博客过程中只是对知识点的关 ...

随机推荐

  1. Android 13 - Media框架(2)- Demo App与MediaPlayer Api了解

    关注公众号免费阅读全文,进入音视频开发技术分享群! 尝试用MediaPlayer写了一个播放demo,实现了网络流和本地流的播放.由于本人对app开发一窍不通,所以demo中很多内容是边查资料边写的, ...

  2. c# 32位程序突破2G内存限制

    起因在开发过程中,由于某些COM组件只能在32位程序下运行,程序不得不在X86平台下生成.而X86的32位程序默认内存大小被限制在2G.由于程序中可能存在大数量处理,期间对象若没有及时释放或则回收,内 ...

  3. windows下载安装ipopt求解器 可用于pyomo调用

    方案一:采用官方编译的应用程序 官方对windows下有已经编译好的应用程序,只需要下载下来,并将ipopt的应用程序所在文件夹路径添加到系统全局环境变量就可以了.这样在利用pyomo或者其他建模工具 ...

  4. 面试必问:MySQL死锁 是什么,如何解决?(史上最全)

    MySQL死锁接触少,但面试又经常被问到怎么办? 最近有小伙伴在面试的时候,被问了MySQL死锁,如何解决? 虽然也回答出来了,但是不够全面体系化, 所以,小北给大家做一下系统化.体系化的梳理,帮助大 ...

  5. pandas基础--层次化索引

    pandas含有是数据分析工作变得更快更简单的高级数据结构和操作工具,是基于numpy构建的. 本章节的代码引入pandas约定为:import pandas as pd,另外import numpy ...

  6. JavaSE什么是面向对象?

    目录 重点!!!面向对象 面向过程与面向对象 面向过程的程序思想 面向对象程序思想 类和对象(面向对象的核心概念) 类: 类的结构 对象:(Everything is an object) 重点!!! ...

  7. set数据类型

                SET 数据类型             是一个类似于 数组 的数据类型             特点 : 不接受重复的相同的数据                    同样的 ...

  8. .NET5 ASP.NET Core 使用 EF Core MS SQL SERVER DB First

    .NET5 ASP.NET Core 使用 EF Core MS SQL SERVER DB First 开发工具:VS2019 1.修改appsettings.json,增加一项. "Co ...

  9. 图片jpg,png转为BASE64编码

    -- using System; using System.Drawing; using System.Drawing.Imaging; using System.IO; namespace aliy ...

  10. 在线Base64转文件、文件转Base64工具

    在线Base64转换神器,一键实现Base64编码与文件互转!支持图片.文档等各类文件,快速准确,安全无服务器存储.拖拽上传,轻松编码解码,提升开发效率.跨平台兼容,移动端友好,让数据转换再无障碍. ...