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

01-基于IDEA,Spring官网,阿里云官网,手动四种方式创建SpringBoot工程

快速上手SpringBoot

SpringBoot技术由Pivotal团队研发制作,功能的话简单概括就是加速Spring程序初始搭建过程和Spring程序的开发过程的开发

  • 最基本的Spring程序至少有一个配置文件或配置类用来描述Spring的配置信息
  • 现在企业级开发使用Spring大部分情况下是做web开发,如果做web开发的话还要在加载web环境加载时加载指定的Spring配置
  • 开发过程无外乎使用什么技术导入对应的jar包,然后将这个技术的核心对象交给Spring容器管理并配置成Spring容器管控的bean

基于IDEA

第一步: 新建一个空工程然后创建一个新模块使用Spring Initializr的方式初始化模块的相关配置信息

在这里插入图片描述

第二步: 选择SpringBoot的版本和当前模块需要使用的技术集(后期都可以通过配置文件添加的修改), 这里我们选择web快速构建一个SpringMVC的程序
在这里插入图片描述

第三步: 创建Controller编写接口处理用户的请求

// Rest风格开发(@RestController与@GetMapping注解是基于Restful开发的典型注解)
@RestController
@RequestMapping("/books")
public class BookController {@GetMappingpublic String getById(){System.out.println("springboot is running...");return "springboot is running...";}
}

第四步: 运行自动生成的Application启动类中的main方法, 运行完毕后查看控制台输出信息

第五步: 打开浏览器在地址栏上输入http://localhost:8080/books
在这里插入图片描述

基于Spring官网(国外)

第一步: 在SpringBoot官网中,点击Spring Initializr进入到创建SpringBoot程序的界面然后输入模块的初始化信息

在这里插入图片描述

第二步: 点击右侧的ADD DEPENDENCIES表示选择使用何种技术

在这里插入图片描述

第三步: 将模块的所有信息设置完毕后,点击GENERATE按钮生成一个创建模块的压缩包

在这里插入图片描述

基于阿里云官网(国内)

第一步: 创建模块时选择starter服务路径然为阿里云地址http://start.aliyun.com或https://start.aliyun.com
在这里插入图片描述

第二步: 选择使用到的技术,阿里在依赖坐标中添加了一些阿里自主的技术,所以在依赖选择列表中你有了更多的选择

在这里插入图片描述

基于原生(手动)

第一步: SpringBoot工程也是基于Maven构建的, 所以创建工程时可以选择创建普通Maven工程

在这里插入图片描述

第二步: 参照标准SpringBoot工程的pom文件(继承一个父工程),编写工程自己的pom文件指定SpringBoot的版本号和项目中需要用到的依赖

<?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 http://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.5.4</version></parent><groupId>com.itheima</groupId><artifactId>springboot_01_04_quickstart</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies>
</project>

第三步: 手写一个启动类(名字可以随意)并使用@SpringBootApplication注解修饰,启动SpringBoot工程

@SpringBootApplication
public class Application {public static void main(String[] args) {// 加载启动类创建容器SpringApplication.run(Application.class);}
}	

开发SpringBoot程序的总结

SpringBoot和Spring程序对比

SpringBoot程序和Spring程序相比在开发的过程中各个层面均具有优势

类配置文件SpringSpringBoot
pom文件中的坐标手工添加勾选添
web3.0配置类手工制作
Spring/SpringMVC配置类手工制作
控制器手工制作手工制作

程序的两个重要文件

Maven的核心配置文件pom.xml: 描述了当前工程构建时相应的配置信息,要求必须继承父工程spring-boot-starter-parent

 <?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.5.4</version></parent><groupId>com.itheima</groupId><artifactId>springboot_01_01_quickstart</artifactId><version>0.0.1-SNAPSHOT</version><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></project>

Application启动类(配置类)负责运行SpringBoot程序

 @SpringBootApplicationpublic class Application {public static void main(String[] args) {// 加载启动类创建容器SpringApplication.run(Application.class, args);}}

相关文章:

  • 5分钟Python安装实战(MAC版本)
  • MapReduce:大数据处理的范式
  • Naocs配置中心配置映射List、Map、Map嵌套List等方式
  • Chatgpt人工智能对话源码系统分享 带完整搭建教程
  • lua脚本实现redis分布式锁(脚本解析)
  • vscode + cmake + opencv example
  • 企业防范数据安全的重要性与策略
  • Docker 用centos 编译安装apache
  • 【分布式事务】初步探索分布式事务的概率和理论,初识分布式事的解决方案 Seata,TC 服务的部署以及微服务集成 Seata
  • 【PG】PostgreSQL13主从流复制部署(详细可用)
  • 【面经】spring,springboot,springcloud有什么区别和联系
  • uni-app android picker选择默认月份
  • 【算法练习Day42】买卖股票的最佳时机 III买卖股票的最佳时机 IV
  • 独立键盘接口设计(Keil+Proteus)
  • 校园安防监控系统升级改造方案:如何实现设备利旧上云与AI视频识别感知?
  • [数据结构]链表的实现在PHP中
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • extract-text-webpack-plugin用法
  • Java 内存分配及垃圾回收机制初探
  • java概述
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • Shadow DOM 内部构造及如何构建独立组件
  • Solarized Scheme
  • vagrant 添加本地 box 安装 laravel homestead
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 模型微调
  • 扑朔迷离的属性和特性【彻底弄清】
  • 实现简单的正则表达式引擎
  • 通过npm或yarn自动生成vue组件
  • 一起参Ember.js讨论、问答社区。
  • 硬币翻转问题,区间操作
  • 阿里云移动端播放器高级功能介绍
  • 正则表达式-基础知识Review
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • #Z2294. 打印树的直径
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • (¥1011)-(一千零一拾一元整)输出
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (四)linux文件内容查看
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .Net Memory Profiler的使用举例
  • .NET 使用 XPath 来读写 XML 文件
  • .NET框架设计—常被忽视的C#设计技巧
  • .set 数据导入matlab,设置变量导入选项 - MATLAB setvaropts - MathWorks 中国
  • ??如何把JavaScript脚本中的参数传到java代码段中
  • @Autowired @Resource @Qualifier的区别
  • [ CTF ] WriteUp-2022年春秋杯网络安全联赛-冬季赛
  • [ Linux 长征路第五篇 ] make/Makefile Linux项目自动化创建工具
  • [BSGS算法]纯水斐波那契数列
  • [corCTF 2022] CoRJail: From Null Byte Overflow To Docker Escape