随机网站生成器,中国建筑网查询,广州高端做网站,武义网站建设为什么80%的码农都做不了架构师#xff1f; 我们来用spring boot开发一个简单的“hello world”web应用#xff0c;使用maven构建。开始之前#xff0c;先检查你的java与maven的版本#xff0c;看是否是spring boot1.3支持的版本#xff1a; $ java -versi… 为什么80%的码农都做不了架构师 我们来用spring boot开发一个简单的“hello world”web应用使用maven构建。开始之前先检查你的java与maven的版本看是否是spring boot1.3支持的版本 $ java -version
java version 1.8.0_45
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode) $ mvn -v
Apache Maven 3.2.3 (33f8c3e1027c3ddde99d3cdebad2656a31e8fdf4; 2014-08-12T04:58:1008:00)
Maven home: /opt/apache-maven-3.2.3
Java version: 1.8.0_45, vendor: Oracle Corporation
Java home: /opt/jdk1.8.0_45/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: linux, version: 3.13.0-53-generic, arch: amd64, family: unix 使用eclipse创建一个普通的maven工程 packaging为jar并编写如下pom.xml project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdnet.scanner/groupIdartifactIdhello_world/artifactIdversion0.0.1-SNAPSHOT/versionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion1.3.0.BUILD-SNAPSHOT/version/parent!-- 如果你使用的是RELEASE版本就不需要下面的配置 --repositoriesrepositoryidspring-snapshots/idurlhttp://repo.spring.io/snapshot/urlsnapshotsenabledtrue/enabled/snapshots/repositoryrepositoryidspring-milestones/idurlhttp://repo.spring.io/milestone/url/repository/repositoriespluginRepositoriespluginRepositoryidspring-snapshots/idurlhttp://repo.spring.io/snapshot/url/pluginRepositorypluginRepositoryidspring-milestones/idurlhttp://repo.spring.io/milestone/url/pluginRepository/pluginRepositories
/project 添加依赖 示例中我们在pom.xml的parent部分使用 spring-boot-starter-parent。spring-boot-starter-parent是个重要的,默认的父工程它提供了dependency-management部分。如果我们这时候执行 $ mvn dependency:tree 你可以看到spring-boot-starter-parent它并没有提供什么依赖jar包。如果我们向pom.xml添加spring-boot-starter-web依赖在parent这部分之后 dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency
/dependencies 你再次运行 $ mvn dependency:tree 那这时候日志输出就不一样了 原来tomcat是嵌入方式使用的 写点源代码吧 在src/main/java目录我们创建一个java源文件 package hello_world;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;RestController
EnableAutoConfiguration
public class Example {RequestMapping(/)String home() {return Hello World!;}public static void main(String[] args) {SpringApplication.run(Example.class, args);}
} RestController是spring4.0中的注解RestController表明该类的每个方法返回对象而不是视图它实际就是Controller和ResponseBody混合使用的简写方法。RequestMapping就不解释了springmvc3中就有了EnableAutoConfiguration注解是类级别的注解它的意思就是开启自动配置该注解会告知Boot要采用一种特定的方式来对应用进行配置。这种方法会将其他样板式的配置均假设为框架默认的约定当然它是基于你添加的依赖包。本例中我们添加了spring-boot-starter-web依赖然后嵌入式tomcat与spring MVC都自动依赖进来了这个EnableAutoConfiguration注解就会假设你开发的是一个web应用程序并进行自动配置。 最后是一个main方法它是标准的java应用程序的入口。它调用springApplication.run来引导我们的应用程序自动配置tomcat服务并启动spring。它需要Example.class作为run方法的一个参数告诉SpringAppLication它是一个主要的spring组件。args数组作为参数是通过命令行传入的。 运行示例 我们既然使用了spring-boot-starter-parent那我们就有一个有用的run目标maven中目标来启动应用程序。在工程的根目录执行下面的命令 $ mvn spring-boot:run 如果你打开浏览器输入localhost:8080/ 你会看到输入Hello World! 按ctrl c可以优雅地退出 创建一个可执行的jar 让我们创建一个可完全独立执行的jar文件。创建一个可独立执行的jar文件我们需要在项目的pom.xml中添加spring-boot-maven-plugin如下 buildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins
/build 指定java版本 pom.xml中添加 propertiesjava.version1.8/java.version
/properties 完整的pom.xml文件如下 project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdnet.scanner/groupIdartifactIdhello_world/artifactIdversion0.0.1-SNAPSHOT/versionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion1.3.0.BUILD-SNAPSHOT/version/parent!-- 指定java版本只需要在这里声明下这个参数变量就可以了 --propertiesjava.version1.8/java.version/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build!-- 如果你使用的是RELEASE版本就不需要下面的配置 --repositoriesrepositoryidspring-snapshots/idurlhttp://repo.spring.io/snapshot/urlsnapshotsenabledtrue/enabled/snapshots/repositoryrepositoryidspring-milestones/idurlhttp://repo.spring.io/milestone/url/repository/repositoriespluginRepositoriespluginRepositoryidspring-snapshots/idurlhttp://repo.spring.io/snapshot/url/pluginRepositorypluginRepositoryidspring-milestones/idurlhttp://repo.spring.io/milestone/url/pluginRepository/pluginRepositories
/project 注意spring-boot-starter-parent的pom包含了executions配置来绑定repackage目标。如果你不使用父pom中的配置你需要定义你自己的配置。运行 $ mvn package 即可打包完成 如果你在工程的target目录下看到 hello_world-0.0.1-SNAPSHOT.jar 那就是打包成功如果你想看这个jar包里面的内容可以执行 $ jar tvf target/hello_world-0.0.1-SNAPSHOT.jar 你在target目录下还会看到一个hello_world-0.0.1-SNAPSHOT.jar.original文件。它是在spring boot打包之前原有的jar文件。 现在运行应用程序我们可以使用 java -jar 命令 $ java -jar target/hello_world-0.0.1-SNAPSHOT.jar 退出按CTRL C。 转载于:https://my.oschina.net/fhd/blog/415936