Springboot2.x入门——helloWorld

Springboot2.x入门——helloWorld

一、简介

1.1 Springboot简介

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

1.2 Springboot2.x比较1.x

新版本代码无需任何变更,只需更新部分配置文件,改动原因是:

  • 配置已经不存在或者改名
  • 类已经不存在改名

开发中需要变更的部分配置如下:
1. SpringBoot 2基于Spring5和JDK8,而Spring 1x则用的是低版本
2. MVC部分,WebMvcConfiguer,由抽象类改为接口,这是因为JDK8对接口有新的支持形式;视图渲染Freemaker视图解析器也有改动,默认情况下,它会自动加上ftl来来寻找模板
3. 统一错误处理,基类AbstarctErrorController也改动非常大
4. JPA中,findById 返回了一个Optional对象,改动较大,会直接影响所有业务代码
5.?SpringBoot配置,web应用的ContextPath 配置属性已经改动,
6. 配置文件的中文可以直接读取,而不需要转码
7.自动装配里Boot提供的JavaVersion类报名改动了
8. Redis,见博客https://blog.csdn.net/Mirt_/article/details/80934312
9. Acutator变化很大,默认情况不再启用所有监控,需要定制化编写监控信息,完全需要重写,HealthIndicator,EndPoint同理

对比转自链接:https://blog.csdn.net/u013182960/article/details/88418998

二、使用IntelliJ IDEA创建基础项目

2.1、创建三步骤

因为我习惯了使用IntelliJ IDEA,所以这里直接使用IntelliJ IDEA来进行Springboot基础项目的创建。

2.1.1 选择Spring Initializr

File->new->project
选择Spring Initializr,出现如下页面后,点击Next
(这里的Spring Initializr其实指向的就是Spring官方提供的Spring Initializr工具地址https://start.spring.io/,所以这里创建的工程实际上也是基于Springboot官方工具来实现的。)

2.1.2 填写信息

点击完Next后,我们可以看到如下图所示的工程信息窗口,填好相应的Group和Artifact信息,点击Next

2.1.3 选择依赖,调整位置

此时我们进入的是选择Spring Boot版本和依赖管理的窗口,根据自己的需求选择相应的依赖,点击Next进入最后关于工程物理存储的一些细节,大家可以在这里选择自己项目的存放位置。最后,点击Finish就能完成工程的构建了。
(在这里值的我们关注的是,它不仅包含了Spring Boot Starter POMs中的各个依赖,还包含了Spring Cloud的各种依赖。)

2.2、项目初始结构解析


创建成功后的初始页面我们可以看到如上图所示:

2.2.1 程序入口

DemoApplication

2.2.2 配置文件

application.properties

2.2.3 测试入口

DemoApplicationTests
从名字大家也能看懂它们的作用了吧,这里就不多陈述。

2.3、项目依赖解析

打开pom.xml,我们可以看到如下内容:

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.4.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <description>Demo project for Spring Boot</description>

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

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

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

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

</project>

如上所示,主要有四个部分:

2.3.1 项目元数据

创建时候输入的Project Metadata部分,也就是Maven项目的基本元素,包括:groupId、artifactId、version、name、description等

2.3.2 parent

 <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.4.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

继承父依赖spring-boot-starter-parent的依赖管理,控制版本与打包等内容

2.3.3 dependencies

项目具体依赖,一个项目可以有很多依赖,如我们选择的spring-boot-starter-web用于实现HTTP接口
(web-starter依赖中包含了Spring MVC)

2.3.4 build

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

构建配置部分。默认使用了spring-boot-maven-plugin,配合spring-boot-starter-parent就可以把Spring Boot应用打包成JAR来直接运行。

2.4、编写一个HTTP接口

2.4.1 创建Controller类

在文件java下新建一个Controller类helloController,如下:

package com.example.demo;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String hello(){
        return "hello,world!";
    }
}

2.4.2 启动主程序

启动主程序,发起请求:http://localhost:8080/hello,可以看到页面返回:Hello,world!如下:

(注意:注解报红请打开maven工具栏检查一下,很可能是依赖包的问题)

原文地址:https://www.cnblogs.com/wujunchao/p/12286070.html

时间: 2024-11-06 11:30:11

Springboot2.x入门——helloWorld的相关文章

Hibernate4.3.5入门HelloWorld

本文给出一个简单的Hibernate4.3.5入门实例,配置方式采用XML文件方式(这种方式已经不是主流了,目前越来越多采用Annotation方式映射POJO实体) 代码结构如下图所示:主要用到hibernate-release-4.3.5.Final\lib\required下的jar 在这里只展示出主要的代码 1.HibernateUtil.java 1 package com.wangp.hibernate.helper; 2 3 import org.hibernate.Session

CodeIgniter入门——HelloWorld

原文:CodeIgniter入门--HelloWorld CodeIgniter(CI)是一套给PHP网站开发者使用的应用程序开发框架和工具包. 初次接触,来一个HelloWorld~~~ ^_^ 准备工作: 一.下载CI 官方网站:http://ellislab.com/codeigniter CodeIgniter中国:http://codeigniter.org.cn/ 可以从上面下载相关版本以及文档,我在这里下载使用的2.2.0版本. 二.安装CI 1.首先你得有php运行环境.如果是w

Node.js开发入门—HelloWorld再分析

在Node.js开发入门(1)我们用http模块实现了一个简单的HelloWorld网站,这次我们再来仔细分析下代码,了解更多的细节. 先看看http版本的HelloWorld代码: 代码就是这么简单: // 引入http模块 var http = require("http"); // 创建server,指定处理客户端请求的函数 http.createServer( function(request, response) { response.writeHead(200, {&quo

8086汇编语言入门-HelloWorld

附件下载:  http://pan.baidu.com/s/1i5R9qO9    密码:rfgk 80x86微处理器汇编语言编程.学习任何编程语言都免不了要跨越HelloWorld这道坎,面向机器的汇编语言与面向过程/对象的高级语言不同,编码过程中对寄存器.内存的分配等细节都需要编程人员去关心:而高级语言程序如C语言.C++,即使你不知道printf具体是怎么实现的,只要掌握使用方法即可(封装成模块).C语言的helloworld程序简单到只有一行执行语句:   printf("Hello,W

C语言编程入门——HelloWorld!

 将我的C语言学习过程记录下来,供大家学习交流,适合C语言入门者学习,希望能对大家有帮助. 推荐学习教程:<C语言程序设计> 作者:谭浩强 推荐学习视频:C语言教程 作者:郝斌(链接) 我在学完之后,记下了自己的学习心得,大家可在我的博客中查看(链接) Hello World ,中文意思:你好,世界.世界上的第一个程序就是Hello World,由Brian Kernighan创作. 大多数程序员去学一门语言,写的第一个程序都是HelloWorld! C语言版 Hello World #

Spring Boot2(002):手动创建第1个SpringBoot2简单应用——“HelloWorld” web 工程

备注:以下内容参考 springboot 官方文档 https://docs.spring.io/spring-boot/docs/2.1.5.RELEASE/reference/pdf/spring-boot-reference.pdf 中的 11. Developing Your First Spring Boot Application. 一.开发环境配置说明: 首先列一下自己的一些开发环境信息:win10 + JDK 1.8.0_111 + Apache Maven 3.3.9 + id

Mac环境 go语言之入门HelloWorld

1. 安装mercurial Mercurial 是一种轻量级分布式版本控制系统,采用 Python 语言实现 可以输入hg命令查询系统是否安装mercurial,可以如下两种命令安装 $sudo pip install mercurial 安装成功之后 $sudo easy-install mercurial 安装之后,输入hg命令,如下内容显示,表示成功安装 mercuria $ hg Mercurial Distributed SCM basic commands: add        

RabbitMQ 入门 Helloworld -摘自网络

本系列教程主要来自于官网入门教程的翻译,然后自己进行了部分的修改与实验,内容仅供参考. “Hello world” of RabbitMQ 1.Windows下RabbitMQ的安装 下载Erlang,地址:http://www.erlang.org/download/otp_win32_R15B.exe ,双击安装即可(首先装) 下载RabbitMQ,地址:http://www.rabbitmq.com/releases/rabbitmq-server/v3.3.4/rabbitmq-serv

SpringMvc入门 -----HelloWorld

1. 导入需要的架包: 2. 配置web.xml,添加Servlet <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation&l