当前位置: 首页 > article >正文

SpringBoot创建和使用

✏️作者:银河罐头
📋系列专栏:JavaEE

🌲“种一棵树最好的时间是十年前,其次是现在”

目录

  • 前言
  • Spring Boot 优点
  • Spring Boot 项目创建
    • 使用 Idea 创建
    • 使用网页版创建
  • 项目目录介绍
  • 运行项目

前言

Spring 的诞生是为了简化 Java 程序开发,而 Spring Boot 的出现则是为了 简化 Spring 程序开发。

Spring Boot 优点

1.快速集成框架,提供了启动添加依赖的功能。

2.内置了 运行容器。无需配置 Tomcat 等 Web 容器,可以直接运行和部署程序。

3.快速部署项目,不依赖任何 外部容器。

4.可以完全抛弃繁琐的 xml。

5.支持更多的监控指标,可以更加容易和直观的观察到项目的运行情况。

Spring Boot 项目创建

使用 Idea 创建

我用的是 Idea 社区版,要先安装一个 Spring Boot Helper 插件才能创建一个 Spring Boot 项目。

(如果用的是 Idea 专业版本,则不需要安装插件)

image-20230506181412446

image-20230506181820013

image-20230506183122744

image-20230506183934304

image-20230506185149531

image-20230506185254321

image-20230506185657653

image-20230506190058812

image-20230506191046263

控制台打印了启动所用的时间,并且 debug 没有中断,这就说明 spring boot 项目已经创建好了。

使用网页版创建

1.spring 源

Spring Initializr

image-20230506193948458

image-20230506194108703

image-20230506194402657

image-20230506194714848

找到解压的 demo 文件

image-20230506194808575

image-20230506195751040

创建好了。

image-20230506200909197

2.阿里源

Cloud Native App Initializer (aliyun.com)

image-20230506200332268

创建好项目之后,删掉 4 个无用的文件。

image-20230506201521492

项目目录介绍

image-20230506205245665

运行项目

把要注⼊的容器类和启动类放到同级⽬录下。

spring boot 不用像之前 spring 要去在 spring-config.xml 的 base-package去配置路径。因为 spring boot 只会扫描 和 启动类 同一级路径底下的 加了五大类注解的类。

所以这个类放的位置很重要!!!

image-20230506213354601

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication//spring boot 启动类注解
public class DemoApplication {

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

}
package com.example.demo;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class TestController {
    @RequestMapping("/sayHi")
    public String sayHi(){
        return "hello world";
    }
}

image-20230506211305136

为啥会 404?

原因是它默认你返回的是一个页面,它会去 src/main/resources/static 目录下去找 名字叫 “hello world” 的页面。结果没找到 “hello world” 这个页面就会 404.

加个注解@ResponseBody

@Controller
@ResponseBody//可以修饰类也可以修饰方法,表示返回的是非静态页面的数据
public class TestController {
    @RequestMapping("/sayHi")
    public String sayHi(){
        return "hello world";
    }
}

image-20230506211754847

最终成功打印了 hello world.


http://www.kler.cn/news/18321.html

相关文章:

  • RESTful风格(个人笔记)
  • MySQL事务:原理、类型和使用场景
  • taro小程序中如何引入css_moudle?配置后不生效的解决方法
  • HTML 中的常用标签用法
  • Vue中的路由设置
  • 学习大数据有推荐的么
  • 某程序员哀叹:二本计算机,4年开发,年包才40多万。二本真的不如985/211吗?
  • linux命令之journalctl详解
  • 全国职业院校技能大赛网络建设与运维赛项赛题(五)
  • Python突破某网游游戏JS加密限制,进行逆向解密,实现自动登录
  • 前端架构师-week4-通用脚手架命令Command类封装
  • 扫雷,咱就是一扫一大片(C语言完美递归版)
  • (一)zookeeper实战——初识zookeeper
  • FlashFXP快捷键
  • Mysql索引(1):索引概述
  • 【大数据之Hadoop】二十五、生产调优-HDFS核心参数
  • 【5.JS基础-JavaScript的DOM操作】
  • 操作系统:虚拟内存
  • MySQL基础(十九)Linux下MySQL的安装与使用
  • Softing线上研讨会 | 轻松访问XML文件中的过程数据
  • 2023年6月DAMA-CDGA/CDGP数据治理认证报名请尽早啦!
  • BetaFlight统一硬件配置文件研读之serial命令
  • (8) 支持向量机分类器SVC案例:预测明天是否会下雨
  • 跨境电商支付平台-PingPong Pay(实现收银台模式沙箱支付)
  • 关于WPA3-H2E的技术讲解
  • Verilog概述一:Verilog HDL和 VHDL详细对比
  • JavaWeb综合案例1-2
  • OpenCV实战——根据立体图像计算深度信息
  • JavaScript:二叉树(前序遍历,中序遍历,后序遍历,递归法,统一迭代法)
  • Databend 开源周报第 92 期