怎么用ftp工具上传网站源码,做网站入门,国际贸易官方网站,平面设计学费多少钱官方参考文档#xff1a;Spring Boot Reference Documentation
0. 概述 Spring的缺点#xff1a; 1. 配置繁琐#xff1a;虽然Spring的组件代码是轻量级#xff0c;但它的配置却是重量级的。 2. 依赖繁琐#xff1a;项目的依赖管理也是一件耗时耗力的事情。分析要导入哪…官方参考文档Spring Boot Reference Documentation
0. 概述 Spring的缺点 1. 配置繁琐虽然Spring的组件代码是轻量级但它的配置却是重量级的。 2. 依赖繁琐项目的依赖管理也是一件耗时耗力的事情。分析要导入哪些库的坐标、与之有依赖关系的其他库的坐标一旦选错了依赖的版本随之而来的不兼容问题就会严重阻碍项目的开发进度。 这些问题Spring Boot可以解决Spring Boot 并不是对 Spring 功能上的增强而是提供了一种快速使用 Spring 的方式底层依然是Spring。基于约定优于配置的思想不必在配置与逻辑业务之间进行思维的切换全身心的投入到逻辑业务的代码编写中。 Spring Boot功能 1. 自动配置运行时过程按需自动配置Spring以及第三方库。约定大于配置每个场景都有很多默认配置。自定义配置文件中修改几项即可。 2. 起步依赖依赖传递 起步依赖本质上是一个Maven项目对象模型(ProjectObject ModelPOM)定义了对其他库的传递依赖这些东西加在一起即支持某项功能。 简单的说起步依赖就是将具备某种功能的坐标打包到一起并提供一些默认的功能。 3. 直接嵌入Tomcat、Jetty or Undertow无需部署 war 包【Servlet容器】将应用打成jar包有java运行环境即可。 4. 提供可选的starter场景启动器简化应用整合。如果要使用web、json、邮件、oss对象存储、异步、定时任务、缓存...要导包一堆控制好版本。Springboot为每一种场景准备了一个依赖 web-starter。mybatis-starter只需导入这一个依赖即可。 5. 提供生产级特性如监控指标、健康检查、外部化配置等 6. 无代码生成、无xml 一、Spring Boot 快速入门项目
搭建SpringBoot工程定义HelloController.hello()方法返回”Hello SpringBoot!”定义引导类启动Springboot应用。
1. 创建Maven项目、目录结构 2. 导入SpringBoot起步依赖pom.xml
!-- 所有springboot项目都必须继承自 spring-boot-starter-parent --parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion3.0.5/version/parentdependencies!-- web开发的场景启动器 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency/dependencies!-- SpringBoot应用打包插件--buildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build
3. 定义Controller
只扫描主程序所在这个包及其子包
package com.circle.boot.controller;import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;/**** author circle* date 2024/4/6* Description 控制类*/RestController
public class HelloController {GetMapping(/hello)public String hello(){return Hello,Spring Boot 3!;}
}4. 编写引导类springboot应用的入口
package com.circle.boot;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;/**** author circle* date 2024/4/6* Description*/SpringBootApplication //这是一个SpringBoot应用
public class MainApplication {public static void main(String[] args) {SpringApplication.run(MainApplication.class,args); // Springboot启动代码}
}5. application.properties配置文件
在resource目录下由于我的8080端口被占用在此处设置成其他端口。
server.port8004
6. 启动测试
在浏览器输入localhost:8004/hello 7. 打包
点击MavenLifecycle下的clean和package按住ctrl同时选将本项目打成jar包。
jar包位于target目录下 在文件夹中找到target目录进入cmd执行命令java -jar helloworld_01-1.0-SNAPSHOT.jar
E:\IntelliJ IDEA 2022.1.4\project\Springboot3_demo\helloworld_01\targetjava -jar helloworld_01-1.0-SNAPSHOT.jar
即可运行我们的项目必须在IDEA中先终止项目否则显示端口被占用。 由此项目我们可以体会到Springboot的特性 1. 简化整合场景启动器 只要导入相关的场景就能拥有相关的功能。不用配一堆依赖 默认支持的所有场景Developing with Spring Boot 官方提供的场景命名为spring-boot-starter-*第三方提供场景命名为*-spring-boot-starter 2. 简化开发无需编写任何配置直接开发业务 3. 简化配置application.properties 集中式管理配置。只需要修改这个文件就行 。配置基本都有默认值能写的所有配置都在 Common Application Properties 4. 简化部署打包为可执行的jar包只要有java环境即可。 5. 简化运维 修改配置外部放一个application.properties文件、监控、健康检查。 上述各步骤还可以简化不用手动创建各文件——Spring Initializr 创建向导一键创建好整个项目结构
还是new Module但此时选择Spring Initializr 需要什么此处就选什么create 目录结构如下很多文件和内容都已经准备好 Initializr02Application主程序 resources/static静态资源图片、JS、CSS等 resource/template页面模板 application.properties配置文件 创建同样的控制类相应hi
package com.circle.boot.controller;import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**** author circle* date 2024/4/6* Description */RestController
public class HelloController {GetMapping(/hi)public String hello(){return Hi,Spring Boot 3!;}
}启动测试