创建项目
1.首先使用mvn命令创建一个基本的Java项目结构
解释一下创建java项目结构的命令:
- mvn:maven命令
- archetype:generate:这是一个Maven插件,原型 archetype 插件是一个Maven项目模板工具包,可以用它创建基本的java项目结构。
- -DgourpId: 组织名,公司网址的反写 + 项目名称
- -DartifactId: 项目名(模块名)
- -Dversion:项目版本号
- -DinteractiveMode:是否使用交互模式:false不使用,直接创建;true使用,需要根据提示输入相关信息。
温馨小提示:
可以使用-DarchetypeArtifactId
指定ArchetypeId快速创建Java应用,如:
(1)创建一个Java应用:
mvn archetype:generate -DgroupId=com.wong.company -DartifactId=shopingmall -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
(2)创建一个Web Project:
mvn archetype:generate -DgroupId=com.wong.company -DartifactId=shopingmall -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
2.在pom.xml文件中添加
温馨提示
(1)spring-boot-starter-parent是spring boot 的父级依赖,它是一个特殊的starter,用以提供相关的maven默认依赖。关于spring boot 提供了哪些jar包的依赖,可以 ~/.m2/repository/org/springframework/boot/spring-boot-dependencies/2.2.5.RELEASE/spring-boot-dependencies-2.2.5.RELEASE.pom文件。顺便提一下,在linux下每个用户在自己的用户目录下都有一个路径名为 .m2/respository/ 的仓库目录。
如果不想使用spring-boot-dependencies-2.2.5.RELEASE.pom中某个依赖默认的版本,可以在本项目的pom.xml中重新指定版本来覆盖默认的,例如下面。
Spring Data默认版本在spring-boot-dependencies-2.2.5.RELEASE.pom是:
那么我们可以在本项目中的pom.xml重新指定版本:
(2)如果不想继承自spring-boot-starter-parent的POM,即<parent>那里指定不是spring-boot-starter-parent,而是其他的。但是,我们仍然可以通过使用scope = import依赖关系来保持与spring-boot-starter-parent的依赖关系管理,只需要在我们项目的pom.xml中添加:
上面我们通过修改属性spring-data-releasetrain.version实现了覆盖默认的版本,但是有时通过修改属性这种方式会存在一个问题,那就是使用这个属性的依赖有很多,我们一改就会全改,但我们并不想其他依赖的版本,那么怎么办呢?其实很简单,就是不要修改属性,直接重新定义依赖。但是需要在spring-boot-dependencies项之前的项目的dependencyManagement中添加一个配置,如要升级到另一个Spring Data版本:
(3)起步依赖 spring-boot-starter-xx
Spring Boot提供了很多”开箱即用“的依赖模块,都是以spring-boot-starter-xx作为命名的。起步依赖就是自动给你封装好了你想要实现的功能的依赖。比如我们之前要实现web功能,就需要引入spring-boot-starter-web这个起步依赖。
Spring Boot通过提供众多起步依赖降低项目依赖的复杂度。起步依赖本质上是一个Maven项目对象模型(Project Object Model,POM),定义了对其他库的传递依赖,这些东西加在一起即支持某项功能。很多起步依赖的命名都暗示了它们提供的某种或者某类功能。
SpringBoot Maven插件
这是在spring-boot-dependencies-2.2.5.RELEASE.pom,本项目pom.xml继承的pom中:
这个插件太重要了,它提供了很多的功能:
- 把项目打包成一个可执行的超级JAR(uber-JAR),包括把应用程序的所有依赖打入JAR文件内,并为JAR添加一个描述文件,其中的内容能让你用java -jar来运行应用程序。
- 「重要」搜索public static void main()方法来标记为可运行类。
更多SpringBoot Maven插件,请参考《SpringBoot Maven插件》
编制应用入口类
- @SpringBootApplication:是Sprnig Boot项目的核心注解,主要目的是开启自动配置。@SpringBootApplication = (默认属性)@Configuration + @EnableAutoConfiguration + @ComponentScan
- main方法:这是一个标准的Java应用的main的方法,主要作用是作为项目启动的入口。
编写Controller
必须要写在App启动类同一个包下才能够扫描到。
@RestController=@Controller+@ResponseBody的结合,使用这个注解的类里面的方法都以json格式输出。
启动springboot项目
三种项目启动方式
- App的main方法
- 使用命令:mvn spring-boot:run 启动
- 使用命令:mvn package 进行打包,将生成的JAR文件,使用 java -jar 命令来运行
2020-03-22 02:23:31.204 INFO 10993 --- [ main] com.wong.App : Started App in 1.384 seconds (JVM running for 1.731)
出现这句说话说明启动成功!
测试
谢谢阅读!