Spring Boot 与传统项目最大的区别是,传统项目都是打成 WAR 包部署到服务器上面,需要额外的 Servlet 容器, 而 Spring Boot 则可以直接打成 jar 包,并内置集成了 Servlet 容器,通过命令 java -jar xx.jar 则可以直接运行,不需要独立的 Servlet 容器。

打成可执行 jar 包后,我们来看下其中的 META-INF/MANIFEST.MF 文件。

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: admin
Start-Class: cn.javastack.MyApplication
Spring-Boot-Classes: BOOT-INF/classes/
Spring-Boot-Lib: BOOT-INF/lib/
Spring-Boot-Version: 2.0.4.RELEASE
Created-By: Apache Maven 3.5.0
Build-Jdk: 1.8.0_151
Main-Class: org.springframework.boot.loader.JarLauncher

其中有一个 Start-Class 便是这个 jar 包的入口类,这个入口类推荐是放在一个项目的顶层包中,其他所有的类都放在其子包下面,目录结构如以下所示。

cn+- javastack+- MyApplication.java|+- customer|   +- Customer.java|   +- CustomerController.java|   +- CustomerService.java|   +- CustomerRepository.java|+- order+- Order.java+- OrderController.java+- OrderService.java+- OrderRepository.java

这个目录结构是主流及推荐的做法,而在主入口类上加上 @SpringBootApplication 注解来开启 Spring Boot 的各项能力,如自动配置、组件扫描等。

package cn.javastack.MyApplication;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class MyApplication {public static void main(String[] args) {SpringApplication.run(MyApplication.class, args);}}

如果你不想这么做,你也可以充分利用 @EnableAutoConfiguration@ComponentScan 注解自定义你的行为,不过这不是推荐的做法。

版权申明:本文系 "Java技术栈" 原创,原创实属不易,转载、引用本文内容请注明出处,禁止抄袭、洗稿,请自重,尊重他人劳动成果和知识产权。

springboot介绍_Spring Boot 主类及目录结构介绍!相关推荐

  1. Spring Boot 主类及目录结构介绍

    Spring Boot 与传统项目最大的区别是,传统项目都是打成 WAR 包部署到服务器上面,需要额外的 Servlet 容器, 而 Spring Boot 则可以直接打成 jar 包,并内置集成了 ...

  2. Linux常用命令(本篇包括,Linux目录结构介绍、Linux Shell介绍、9个常见命令介绍、文件的概念、文件的操作(20个)、目录的操作、文件和目录的权限、文件压缩及解压缩)

    Linux常用命令(本篇包括,Linux目录结构介绍.Linux Shell介绍.9个常见命令介绍.文件的概念.文件的操作(20个).目录的操作.文件和目录的权限.文件压缩及解压缩)         ...

  3. Live555源码阅读笔记(一):源码介绍文档 及 源码目录结构

    目录 一.Live555介绍 1.Live555项目介绍 2.官网及帮助文档介绍 二.源码目录结构 1.UsageEnvironment 2.BasicUsageEnvironment 3.group ...

  4. Flutter 基础目录结构介绍、入口自定义widget、等相关组件使用

    提示:此文章为前端学习flutter过程,如有歧义期望各位大大的宝贵意见 学习Dart 基础知识 移步这里 安装flutter环境相关 移步这里 flutter基础组件使用相关 移步这里 文章目录 一 ...

  5. 【Vue】—项目的目录结构介绍

    [Vue]-项目的目录结构介绍

  6. 帝国cms目录结构介绍

    帝国CMS目录结构介绍 / 系统根目录 ├d/            附件和数据存放目录 (data) │├file/       附件存放目录 │├js/         JS调用生成目录 │└tx ...

  7. Kettle教程(二):Kettle目录结构介绍

    文章目录 前言 一.Kettle的Spoon/Pan/Kitchen/Carte 简介 1.Spoon 2.Pan 3.Kitchen 4.Carte 二.Kettle的目录结构介绍 三.总结 前言 ...

  8. mysql springboot 缓存_Spring Boot 整合 Redis 实现缓存操作

    摘要: 原创出处 www.bysocket.com 「泥瓦匠BYSocket 」欢迎转载,保留摘要,谢谢! 『 产品没有价值,开发团队再优秀也无济于事 – <启示录> 』 本文提纲 一.缓 ...

  9. 命令行调用springboot服务_Spring Boot命令行界面的使用

    Spring Boot提供了命令行界面(Command Line Interface, CLI),可以用来运行和测试Spring Boot应用.Spring Boot及其CLI可以在Spring仓库中 ...

最新文章

  1. C语言程序设计最佳分组,求助把一些数值按指定的和进行分组
  2. mysql sql left right inner join区别及效率比较
  3. Windows 技术篇-设置电脑启用或禁用开机按Ctrl+Alt+Del解除锁定
  4. C#中dynamic、ExpandoObject 的正确用法
  5. CodeForces - 1255D Feeding Chicken(贪心+构造+模拟)
  6. WCF 第四章 绑定 netMsmqBinding
  7. vue-resource跨域问题
  8. linux用户和用户组
  9. 使用7zip把jre集成到绿色运行程序内
  10. 动态域名解析NAT版结合绿盾加密解密软件使用方法
  11. 安徽大学线性代数第二章习题册(详细解答)
  12. CSS3鼠标悬停360度旋转效果
  13. 除硬件外 计算机系统不可缺少的,计算机应用基础选择精选100题.doc
  14. 尚雯婕个唱化身宫廷芭比娃娃
  15. java调用peopleSoft webservice
  16. Ubuntu软件包升级失败的终极修复方法
  17. 无线网络突然连不上了
  18. java 写 xml 文件 工具类_XML读写工具类
  19. itext7读取pdf 中文_pdf转为excel表
  20. MYSQL数据库跨服务器实时同步更新实践----文献阅读(污水管网水质预测)

热门文章

  1. open,write,read与fopen,fwrite,fread的区别
  2. C/C++学习之路: 多态
  3. 剑指offer之51-55题解
  4. 数据结构与算法之冒泡排序
  5. Hadoop之Yarn工作机制详解
  6. PB 级大规模 Elasticsearch 集群运维与调优实践
  7. docker 网络模型
  8. linux ngx listen的解析
  9. virtualbox 虚拟机没有ipv4
  10. 那么到底什么是热点???