回顾Spring

Spring是一个开源框架,2003年兴起的一个轻量级的Java开发框架。
Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。

Spring是怎样简化Java开发的呢?

Spring采用了以下4种关键策略:

  1. 基于POJO的轻量级和最小侵入性编程,所有东西都是bean
  2. 通过IOC,依赖注入DI和面向接口实现松耦合
  3. 基于切面AOP和惯例进行声明式编程
  4. 通过切面和模板减少样式代码,RedisTemplate,xxxTemplate

什么是SpringBoot(什么是快乐星球?!)

那么什么是SpringBoot呢?它就是一个JavaWeb的开发框架,和SpringMVC类似,对比其他JavaWeb框架的好处,官方说的是简化开发,约定大于配置,you can Just Run,能迅速的开发Web应用。几行代码开发一个Http接口。
SpringBoot基于Spring开发,SpringBoot本身并不提供Spring框架的核心特性以及扩展功能,知识用于迅速、敏捷地开发新一代基于Spring框架的应用程序。也就是说,它并不是用来替代Spring的解决方案,而是Spring框架紧密结合用于提升Spring开发者体验的工具。SpringBoot以约定大于配置的核心思想,默认帮我们进行了很多设置,多数SpringBoot应用只需要很少的Spring配置。同时它集成了大量第三方库配置(例如Redis、MongoDB、Jpa、RabbitMQ、Quartz等等),SpringBoot应用中这些第三方库几乎可以零配置的开箱即用。
SpringBoot的主要优点:

  • 为所有Spring开发者更快的入门
  • 开箱即用,提供各种默认配置来简化项目配置
  • 内嵌式容器简化Web项目
  • 没有冗余代码生成和XML配置的要求
  									Hello,World

创建基础项目说明

Spring官方提供了非常方便的工具让我们快速构建应用
Spring Initializr:https://start.spring.io/

使用IDEA创建项目

  1. 创建一个新项目
  2. 选择spring initalizr
  3. 填写项目信息
  4. 选择初始化的组件
  5. 填写项目路径
  6. 等待项目构建成功

项目结构分析

通过上面步骤完成了基础项目的创建。就会自动生成以下文件:

  1. 程序的主启动类
  2. 一个application.properties配置文件
  3. 一个测试类
  4. 一个pom.xml

pom.xml分析

打开pom.xml,看看springboot项目的依赖

<!-- 父依赖 -->
<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>

编写一个http接口

1、在主程序的同级目录下,新建一个controller包,一定要在同级目录下,否则识别不到
2、在包中新建一个HelloController类

@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello() {
return "Hello World";
}
}

3、编写完毕后,启动项目,在浏览器中发起请求http://localhost:8081/hello,即可

将项目打成jar包,点击maven中的package


如上图所示,出现BUILD SUCCESS即表示项目打jar包成功了!届时会在target目录下生成一个jar包

这个时候在文件夹中找到对应路径,用命令行java -jar ./jar包路径即可运行jar包!OK

最后有个好玩的东西!在我们启动SpringBoot项目的时候,会有个图案,这个图案呢叫banner图案。
那么如何自定义这个图案呢?
仅需一步,即可到位!
在项目下的resources目录下新建一个banner.txt即可。
图案可以到bootschool这个网站生成,然后拷贝到banner.txt中即可!

SpringBoot01:HelloWorld!的更多相关文章

  1. Android开发-之第一个程序:HelloWorld!

    小编觉得不管学习什么编程的时候,第一个程序都是要求打印输出一个"HelloWorld!",那就从最简单的HelloWorld开始吧!哈哈~~~~ 一.创建一个Android工程 1 ...

  2. Android零基础入门第8节:HelloWorld,我的第一趟旅程出发点

    原文:Android零基础入门第8节:HelloWorld,我的第一趟旅程出发点 经过前面几期的学习,我们知道了Android的前世今生,也大致了解了Android的系统架构和应用组件,然后花了几期来 ...

  3. java版第一个代码——HelloWorld!

    java版第一个代码--HelloWorld! 今天来接触一下java代码: 事前准备 jdk的配置(推荐jdk8或jdk11) notepad++或idea软件 开始编写 建立文件夹存放代码 建立j ...

  4. libevent源码分析:hello-world例子

    hello-world是libevent自带的一个例子,这个例子的作用是启动后监听一个端口,对于所有通过这个端口连接上服务器的程序发送一段字符:hello-world,然后关闭连接. /* * gcc ...

  5. 小白学Java:老师!泛型我懂了!

    目录 小白学Java:老师!泛型我懂了! 泛型概述 定义泛型 泛型类的定义 泛型方法的定义 类型变量的限定 原生类型与向后兼容 通配泛型 非受限通配 受限通配 下限通配 泛型的擦除和限制 类型擦除 类 ...

  6. 第一个Django项目:HelloWorld

    OS:Windows家庭中文版, Python:3.6.3,Django:2.0.3 在前一篇文章中,Django已经顺利安装到了Python中,下面,开发第一个Python项目吧! 1.django ...

  7. Java 编程入门第一课:HelloWorld

    在之前的文章中,壹哥带大家搭建出了 Java 的开发环境,配置了 JDK 环境变量,并且我们也熟悉了 dos 命令行的操作.那么从这篇文章开始,壹哥就开始带各位真正地学习 Java 代码该怎么写. - ...

  8. HelloWorld!

            爪哇岛上程序猿,5载忙忙未等闲, 醉里挑灯秒登VPN解决Bug,梦里手撕产品战PM:             但行好事,莫问前程,      泰山崩于前,我依然沐浴更衣焚香沏茶:   ...

  9. Ionic2学习笔记(0):HelloWorld

    作者:Grey 原文地址:http://www.cnblogs.com/greyzeng/p/5529153.html 操作系统: Windows 10 环境配置: Node.js Java SE D ...

  10. jni cocos2d-x移植到android:helloworld

    前面搭建好了android开发环境 jni开发环境,那么就来用一用目前火热的cocos2d的游戏引擎吧 所需资料: cocos2d :下载地址  http://www.oschina.net/p/co ...

随机推荐

  1. selenium之鼠标键盘操作

    鼠标操作 1.引入ActionChains类 2.定位相关元素 3.在ActionChains().调用相关鼠标操作方法 from selenium.webdriver.common.action_c ...

  2. [Python急救站]含义GUI的学生管理系统

    这个管理系统是含有GUI界面的学生管理系统,比较方便. import tkinter as tk class Student: def __init__(self, name, student_id, ...

  3. centos 8 yum 默认安装nginx php 重启nginx服务,报错 403 404

    centos yum nginx 默认安装nginx 服务,重启nginx服务,报错. nginx: [error] open() "/run/nginx.pid" failed ...

  4. git clone 出现fatal: unable to access ‘https://github 错误解决方法

    git clone 遇到问题:fatal: unable to access 'https://github.comxxxxxxxxxxx': Failed to connect to xxxxxxx ...

  5. appuploader不是开发者账号

    Appuploader是一款可以帮助开发者上传iOS应用到Apple App Store的工具.很多开发者都知道,在上传应用到App Store之前,需要创建开发者账号并获得苹果官方的认证才能进行上传 ...

  6. 火山引擎DataLeap:助你实现从数据研发1.0到数据研发3.0的跨越

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近日,火山引擎开发者社区 Meetup 第 12 期暨超话数据专场在深圳举办,本次活动主题为"数智化转型 ...

  7. 火山引擎DataLeap数据质量解决方案和最佳实践(二):解决方案

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 DataLeap流批数据质量解决方案 产品功能架构 火山引擎DataLeap流批数据质量解决方案有 4 个大的功能 ...

  8. 设置MySQL 创建数据库,默认为UTF-8

    Windows 安装 MySQL 5.7 x64 位 MySQL 8.0及以上默认为utf8,所以不需要设置 mysql> show variables like 'character_%' m ...

  9. 网络-华为、思科交换机配置TFTP自动备份、NTP时间同步、SYSLOG日志同步

    配置使用TFTP进行交换机配置的自动保存 华为设备 <Huawei-sw>sys [Huawei-sw]set save-configuration interval 60 delay 3 ...

  10. 24校招,Moka测试开发工程师一面

    前言 大家好,今天回顾一下楼主当时参加moka测试开发工程师的面试 对其中一些重要问题,我也给出了相应的答案 过程 自我介绍 挑一个项目,详细介绍你在其中担任的职责 如何安排工作的,有什么成果? 回归 ...