搭建Spring Boot项目,有两种方式:
一、通过eclipse新建maven项目,配置完成
1、新建Maven项目,选择webapp,如下图,点击next,输入GroupId和ArtifactId(即项目名称)后点击Finish。
GroupID是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。
ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。
2、解决项目的报错(这步可以跳过,直接编制pom.xml)
右键项目至Java Build Path, 更给JRE System Library为安装的JRE,同时更改Java Compile,还需要更改Project Facets中的java版本。如果需要也可以更改Dynamic Web Module的版本,不过这个需要到项目所在的路径下的.settings文件夹中的org.eclipse.wst.common.project.facet.core.xml中进行修改,修改后重启eclipse即可。
最后,导入tomcat的lib目录下servlet-api.jar。
3、编制pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>mySpringboot</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>mySpringBoot</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.3.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
父级依赖
spring-boot-starter-parent是spring boot 的父级依赖,它是一个特殊的starter,用以提供相关的maven默认依赖。关于spring boot 提供了哪些jar包的依赖,可以查看.m2目录下的\repository\org\springframework\boot\spring-boot-dependencies\1.5.3.RELEASE\spring-boot-dependencies-1.5.3.RELEASE.pom
如果你不想使用某个依赖默认的版本,可以通过覆盖自己的项目中的属性来覆盖各个依赖项,例如,要升级到另一个Spring Data版本系列,您可以将以下内容添加到pom.xml中:
<properties> <spring-data-releasetrain.version>Fowler-SR2</spring-data-releasetrain.version> </properties>
并不是每个人都喜欢继承自spring-boot-starter-parent POM。可能你需要使用的自己的公司标准parent,或者可能更喜欢显式声明所有的Maven配置。
如果你不想使用spring-boot-starter-parent,你仍然可以通过使用scope = import依赖关系来保持依赖关系管理:
<dependencyManagement> <dependencies> <dependency> <!-- Import dependency management from Spring Boot --> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>1.5.3.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>该设置不允许你使用如上所述的属性(properties)覆盖各个依赖项,要实现相同的结果,需要在spring-boot-dependencies项之前的项目的dependencyManagement中添加一个配置,例如,要升级到另一个Spring Data版本系列,可以将以下内容添加到pom.xml中。
<dependencyManagement> <dependencies> <!-- Override Spring Data release train provided by Spring Boot --> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-releasetrain</artifactId> <version>Fowler-SR2</version> <scope>import</scope> <type>pom</type> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>1.5.3.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
起步依赖 spring-boot-starter-xx
Spring Boot提供了很多”开箱即用“的依赖模块,都是以spring-boot-starter-xx作为命名的。起步依赖就是自动给你封装好了你想要实现的功能的依赖。比如我们之前要实现web功能,就需要引入spring-boot-starter-web这个起步依赖。
Spring Boot通过提供众多起步依赖降低项目依赖的复杂度。起步依赖本质上是一个Maven项目对象模型(Project Object Model,POM),定义了对其他库的传递依赖,这些东西加在一起即支持某项功能。很多起步依赖的命名都暗示了它们提供的某种或者某类功能。
Spring Boot Maven插件
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>上面的配置就是Spring Boot Maven插件,Spring Boot Maven插件提供了许多方便的功能:
- 把项目打包成一个可执行的超级JAR(uber-JAR),包括把应用程序的所有依赖打入JAR文件内,并为JAR添加一个描述文件,其中的内容能让你用java -jar来运行应用程序。
- 搜索public static void main()方法来标记为可运行类。
4、编制应用入口类MySpringBootApplication
@RestController
@SpringBootApplication
public class MySpringBootApplication {
@RequestMapping("/")
public String index(){
return "Hello Spring Boot";
}
public static void main(String[] args) {
SpringApplication.run(MySpringBootApplication.class, args);
}
}
- @SpringBootApplication是Sprnig Boot项目的核心注解,主要目的是开启自动配置。
- main方法这是一个标准的Java应用的main的方法,主要作用是作为项目启动的入口。
- @RestController注解等价于@Controller+@ResponseBody的结合,使用这个注解的类里面的方法都以json格式输出。
5、三种项目启动方式
- MySpringBootApplication的main方法
- 使用命令:mvn spring-boot:run 启动
- 使用命令:mvn package 进行打包,将生成的JAR文件,使用 java -jar 命令来运行
6、在浏览器栏输入:http://localhost:8080,就能看到页面显示Hello Spring Boot效果了
二、通过Spring Initializr,生成Spring Boot项目结构(简单粗暴)
1、通过Web浏览器访问:http://start.spring.io/
2、选择构建工具Maven Project
、Spring Boot版本1.5.3
以及一些工程基本信息,可参考下图所示:
3、点击Generate Project
下载项目压缩包
4、导入工程。
5、工程导入成功之后,后面的步骤如第一种方式。
http://tengj.top/2017/02/26/springboot1/