SpringBoot回顾1-第一个helloworld

SpringBoot回顾1-第一个helloworld

熟悉了ssm的开发和配置,今天来回顾一个简化ssm开发的SpringBoot框架,相信大家也对ssm的配置已经开始觉得繁琐了,所以SpringBoot诞生了。

SpringBoot简介

SpringBoot的概述

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

SpringBoot的特征

(1)可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;

(2)内嵌Tomcat或Jetty等Servlet容器;

(3)提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;

(4)尽可能自动配置Spring容器;

(5)提供准备好的特性,如指标、健康检查和外部化配置;

(6)绝对没有代码生成,不需要XML配置。

那SpringBoot是如何简化开发的?

为了降低Java开发的复杂性,Spring采用了以下4种关键策略:

1、基于POJO的轻量级和最小侵入性编程,所有东西都是bean;

2、通过IOC,依赖注入(DI)和面向接口实现松耦合;

3、基于切面(AOP)和惯例进行声明式编程;

4、通过切面和模版减少样式代码,RedisTemplate,xxxTemplate;

SpringBoot第一个Helloworld

我们先上手一个简单的SpringBoot项目来实现一个请求处理来初步了解一下SpringBoot框架的结构和开发模式。

环境要求

image-20201006092258183

  • JDK1.8
  • Maven-3.6.1
  • SpringBoot 2.x

开发工具我们这里使用IDEA

创建项目的方式

首先Spring官方提供了非常方便的工具让我们快速构建项目,我们有两种方式可以创建一个SpringBoot初始化项目。

方式一:使用Spring Initializr 的 Web页面创建项目

1、打开 https://start.spring.io/

2、填写项目信息

3、点击”Generate Project“按钮生成项目;下载此项目

4、解压项目包,并用IDEA以Maven项目导入,一路下一步即可,直到项目导入完毕。

5、如果是第一次使用,可能速度会比较慢,包比较多、需要耐心等待一切就绪。

image-20201006092937007

点击生成后,

image-20201006093024425

下载完成一个demo包

image-20201006093101816

可以看到路径就是一个完整的项目

image-20201006093147668

对应名字如下

image-20201006093334643

然后将下载下来的项目压缩包解压,导入idea即可直接开发

方式二:使用 IDEA 直接创建项目(推荐)

显然步骤1还需要解压导入,不如直接在idea里创建多完美呢。

步骤

1、创建一个新项目

image-20201006093637931

2、选择spring initalizr , 可以看到默认就是去官网的快速构建工具那里实现

image-20201006093652594

3、填写项目信息(注意要求必须联网)

image-20201006093705683

4、选择初始化的组件(初学勾选 Web 即可),可以看到这里有很多依赖,就是快速构建项目的过程,其实我们只需要随便勾选一个web的即可,因为我们创建的是maven项目,难道还有什么依赖添加在maven里会很麻烦吗?

image-20201006093749747

5、填写项目路径

image-20201006093922710

6、等待项目构建成功

项目结构分析

image-20201006094449807

可以看到项目自动生成了很多东西

.idea .mvn不多说,idea和maven的配置文件夹

src中有我们刚才创建的路径,还自动生成了resources静态资源文件夹,以及SpringBoot配置文件application.properties,还有一个测试类,和一个熟悉的pom.xml,其他的几个无需刻意了解。

我们可以看看pom.xml里有什么

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.3.4.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.feng</groupId>
    <artifactId>helloworld1sb</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>helloworld1sb</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>
            <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>

</project>

可以看到里面自动导入web、junit以及SpringBoot启动类的依赖,是因为我们刚才在创建的时候勾选的

image-20201006094846878

helloworld跑一跑

我们现在主类同级目录下创建一个controller文件夹,如果对应错误必出现404哈,这里注意路径问题

image-20201006095922354

controller里随便写个

package com.feng.helloworld1sb.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * <h3>helloworld1sb</h3>
 * <p></p>
 *
 * @author : Nicer_feng
 * @date : 2020-10-06 09:51
 **/

@RestController
public class testController {

    @RequestMapping("/hhh")
    public String hello(){
        return "hello SpringBoot!";
    }

}

因为SpringBoot本身其实就是继承了Spring、SpringMVC、Mybatis等框架为一身的,所以在SpringMVC里的各种@RequestMapping等等注解都是拿来即用的

直接启动主类,我们会发现SpringBoot项目启动的特别快,因为他还内置了Tomcat9,

image-20201006100346398

打开浏览器,输入localhost:8080/hhh,就是刚才配置的路径,即可看到效果

image-20201006100438670
可以看到大功告成

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上上签i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值