关键词:
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
注解自定义你的行为,不过这不是推荐的做法。
更多干货推荐
2.史上最强 Spring Boot & Cloud 教程整理
更多请扫描下方的二维码关注我们的微信公众号,干货每日推送!
springboot目录结构说明
一、SpringBoot 推荐目录结构(1)代码层的结构 根目录:com.springboot 1.工程启动类(ApplicationServer.java)置于com.springboot.build包下 2.实体类(domain)置于com.springboot.domain 3.数据访问层(Dao)置于com.springboot.repos... 查看详情
springboot目录结构
参考技术A以Maven工程形式新建一个springboot项目。目录结构如下:重点介绍resources目录:在resources文件夹或与其并列的文件夹下建立public文件夹,在public文件夹下的html文件可以通过浏览器中输入文件+后缀名的方式直接访问的. &... 查看详情
springboot---目录结构,文件上传
【转】springBoot(3)---目录结构,文件上传目录结构,文件上传 一、目录结构1、目录讲解 src/main/java:存放代码 src/main/resources static:存放静态文件 查看详情
springboot工程的结构
1springboot的工程结构是什么就是我们组织springboot工程时遵循的代码的目录结构。2springinitializr创建的工程的目录结构源码目录:src/main/java资源目录:src/main/resources测试目录:src/test/java输出目录:output3约定启动类放在rootpackage下... 查看详情
1.springboot目录结构
1.环境变量:jdk:maven:2.选择启动器:springMVCmybatisMysql3.SpringBoot目录结构**此时直接启动项目会报错,错误信息:因为没有配置数据库连接信息4.配置数据库连接在/resource/application.properties中配置:spring.datasource.url=mysql://106.53.10.14... 查看详情
springboot根据目录结构生成路由前缀
参考技术A需求:制定一个目录为“根目录”,从这个目录开始以下的子目录都加入到路由中例子:如下目录结构,要访问banner中的list接口,要达到目的/api/v1/open/banner/list实现步骤 查看详情
idea启动springboot项目报找不到主类
今天搭建的一个新springboot项目,运行启动类时控制报找不到主类错误解决方法:在idea控制台输入mvncleaninstall命令 查看详情
SpringBoot:无法与maven创建战争:无法找到主类
】SpringBoot:无法与maven创建战争:无法找到主类【英文标题】:SpringBoot:can\'tcreatewarwithmaven:Unabletofindmainclass【发布时间】:2020-08-2906:06:58【问题描述】:我有一个带有war和ear模块的SpringBoot项目,我使用maven(主要用于Java项目的... 查看详情
springboot依赖环境和项目结构介绍
1、环境介绍使用 Spring Boot 开发项目需要有两个基础环境和一个开发工具,这两个环境是指 Java 编译环境和构建工具环境,一个开发工具是指 IDE 开发工具。Spring Boot 2.0 要求 Java 8 ... 查看详情
用springboot实现简单的接口
参考技术A上篇文章已经介绍了SpringBoot的基本使用过程,本文主要介绍用那篇文章中配置好的SpringBoot工程实现简单的接口。最终工程目录是下面这样:这是个简陋的目录结构,仅供我们参考,其中主要分为四类:最后还有一个..A... 查看详情
springboot启动报错:找不到或无法加载主类
解决的办法:https://blog.csdn.net/weixin_44537580/article/details/97375677 查看详情
spring读源码系列01---spring核心类及关联性介绍(代码片段)
Spring读源码系列01---Spring核心类及关联性介绍Spring核心类引子DefaultListableBeanFactoryDefaultListableBeanFactory的继承体系XmlBeanDefinitionReader容器的基础XmlBeanFactory配置文件--->Resource进入源码追踪XmlBeanFactory的构造函数loadBeanDefinit 查看详情
idea创建包和类及常用快捷键
java项目结构IDEA的项目目录我们创建的项目.idea目录和demo.iml和我们开发无关,是IDEA工具自己使用的out目录是存储编译后的.class文件src目录是存储我们编写的.java源文件 创建包和类1.展开创建的工程,在源代码目录src上,鼠标... 查看详情
vue—项目的目录结构介绍
【Vue】—项目的目录结构介绍 查看详情
javaweb应用部署结构浅析
...。所有类文件(普通bean、servlet、监听器、过滤器、辅助类及标志处理器等)的包结构都必须直接放在class目录下,里面存放编译后的.class文件。 3)lib目录:必须直接 查看详情
springboot目录文件结构总结(代码片段)
1、目录 src/main/java:存放java代码 src/main/resources static:存放静态文件,比如css、js、image(访问方式http://localhost:8080/js/main.js) templates:存放静态页面jsp,html,tpl config:存放配置文件application.prope... 查看详情
springboot在命令行指定主类启动程序
参考技术ASpringBoot程序我们一般会设置使用spring-boot-maven-plugin来生成jar包,配置类似于:这样我们可以通过-jar的方式直接启动并执行指定的start-class类的main函数:但当我们需要指定并执行其他类的main函数时,使用-cp参数却行不... 查看详情
springboot:无法与maven创建战争。无法找到主类
我有一个带有war和ear模块的SpringBoot项目,我使用maven(一个主要用于Java项目的自动化工具)和IntelliJIDEAThis是我的war项目的pom.xml。<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http 查看详情