springboot @value启动报错_3、快速入门 SpringBoot

一、使用新版 SpringBoot2.X 开发一个 JSON 接口

1.1 SpringBoot 开发项目中常见的数据交互使用形式

  • 后端接口直接返回页面,现在比较少。常见的传统 IT 公司比骄多,配合模板引擎,由后端页面渲染返回。
  • 返回 JSON 数据是现在的主流场景。互联网公式使用较多,比如微服务接口、前后端分离项目、手机 App 等,基本都是通过 JSON 进行数据交互。

1.2 SpringBoot2.X 项目实战代码

  • 演示代码地址:https://gitee.com/RookieMZL/practice-sample/tree/dev/spring-boot-demo

1.3 SpringBoot2.X 项目常见答疑解惑

  • @RestController = @Controller+@ResponseBody
@Controller 作用:用于标记这个类是控制器,返回页面的时候使用;如果要返回 JSON,则需要在接口上使用 @ResponseBody 才可以。
@RestController作用:用于标记这个类是控制器,返回 JSON 数据的时候使用,如果使用这个注解,则接口返回数据会被序列化为 JSON。
@RequestMapping 作用:路由映射,⽤于类上做1级路径;用于某个方法上做子路径。
@GetMapping("/demo") = @RequestMapping(value = "/demo",method = RequestMethod.GET)
  • @SpringBootApplication 作用: 用于标记是SringBoot应用,⾥面包含多个子注解
@SpringBootApplication = @Configuration+@EnableAutoConfiguration+@ComponentScan
@Configuration: 主要标注在某个类上,用于spring扫描注入,一般结合@Bean使用。
@EnableAutoConfiguration: 启用Spring的自动加载配置,自动载入应用程序所需的所有Bean。
@ComponentScan:告诉spring扫描包的范围,默认是Applocation类所在的全部子包,可以指定其他包的扫描范围。
@ComponentScan({"com.rookie.package1","com.rookie.package2"}):指定其他包扫描的的位置。

1.4 SpringBoot目录文件结构

目录讲解
  • src/main/java:存放代码。
  • src/main/resources:存放配置文件。
  • static: 存放静态⽂文件,比如 css、js、image。
  • templates:存放静态⻚页⾯面jsp,html,tpl。
同个文件的加载顺序,静态资源文件 Spring Boot 默认如下,里面找是否存在相应的资源,如果有则直接返回,不在默认加载目录,则找不到。
  • META/resources >
  • resources >
  • static >
  • public

默认配置
spring.resources.static-locations = classpath:/META- INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/

二、SpringBoot2.X 启动方式和部署

2.1 SpringBoot2.X 启动方式

  • IDEA开发中启动:本地开发中常用。
  • 外置Tomcat中启动
    • 接近淘汰,tomcat 版本兼容问题复杂。
    • 微服务容器化部署复杂。
Jar方式打包启动(官方推荐)
步骤:pom文件新增maven插件
<plugins>
  <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
  </plugin>
</plugins>
如果没有加,在启动 jar 包 ,报错如下:
java -jar spring-boot-demo-0.0.1-SNAPSHOT.jar
no main manifest attribute, in spring-boot-demo-0.0.1-SNAPSHOT.jar
启动命令
构建:mvn install
构建跳过测试类:mvn install -Dmaven.test.skip=true
target 目录下有对应的 jar 包就是打包后项目。
进到对应的target目录启动 java -jar xxxxx.jar 即可。想后台运行,就用守护进程:
nohup java -jar xxx.jar &
  • 打包后的 Jar 包目录

91c51f1e6c89e75226fe71d052cc9001.png

BOOT-INF:开发完整项目的类(已经编译成 .class 文件)和依赖的 Jar 包。META-INF:指定了项目配置信息(Java 版本等),Start-Class、Main-Class 入口函数。

Manifest-Version: 1.0
Implementation-Title: spring-boot-demo
Implementation-Version: 0.0.1-SNAPSHOT
Start-Class: com.rookie.SpringBootDemoApplication
Spring-Boot-Classes: BOOT-INF/classes/
Spring-Boot-Lib: BOOT-INF/lib/
Build-Jdk-Spec: 1.8
Spring-Boot-Version: 2.1.6.RELEASE
Created-By: Maven Archiver 3.4.0
Main-Class: org.springframework.boot.loader.JarLauncher

org:SpringBoot 的一些class文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值