第一个SpringBoot应用-HelloWorld【原创翻译-翻译自官网用户指南】
来源:互联网 发布:nginx 里pid是什么 编辑:程序博客网 时间:2024/05/18 00:16
开发第一个Spring Boot应用程序 — HelloWorld
用java开发一个简单的“hello world”web应用程序来展示Spring Boot的特点,我们将使用大多数IDE都支持的maven去构建这个工程
1、检查是否安装了合适的java版本和maven版本
2、创建POM文件
首先需要创建一个pom文件用于构建工程,此时可以先用文本编辑器编辑
<?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>myproject</artifactId> <version>0.0.1-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.1.BUILD-SNAPSHOT</version> </parent> <!-- Additional lines to be added here... --> <!-- (you don't need this if you are using a .RELEASE version) --> <repositories> <repository> <id>spring-snapshots</id> <url>http://repo.spring.io/snapshot</url> <snapshots><enabled>true</enabled></snapshots> </repository> <repository> <id>spring-milestones</id> <url>http://repo.spring.io/milestone</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>spring-snapshots</id> <url>http://repo.spring.io/snapshot</url> </pluginRepository> <pluginRepository> <id>spring-milestones</id> <url>http://repo.spring.io/milestone</url> </pluginRepository> </pluginRepositories></project>这个文件能够让你进行构建,你可以使用mvn-package进行检查(如果提示jar will be empty - no content was marked for inclusion!,忽略这个警告就行)
至此,你可以将工程导入IDE中,此处我们使用文本编辑器往下继续
3、添加classpath依赖
SpringBoot提供了若干个“starters”可以方便的添加jar包到classpath。我们在pom文件的parent部分已经用了spring-boot-starter-parent,它是一个提供了maven默认功能的特殊的starter,同时它也提供了一个“dependency-management
”部分
以便可以忽略blessed依赖中的version标签
其他starter仅仅提供了特定应用类型下的一些依赖,因为我们开发的是一个web程序,我们也将会添加spring-boot-starter-web
的依赖,在这之前,让我们看看我们现在有什么
mvn dependency:tree
命令展示了一个你工程的依赖树,你可以看到spring-boot-starter-parent没有提供什么依赖,那么现在
我们来编辑一下pom.xml,把spring-boot-starter-web依赖加进去,放到parent部分的下面
再次执行mvn dependency:tree,会发现已经多了其他的依赖,包括tomcat web server和Spring Boot自己。
4、写代码
为了完成应用我们需要写java代码。Maven默认从src/main/java路径下编译java文件,因此需要创建相关目录,并添加文件
src/main/java/Example.java
import org.springframework.boot.*;import org.springframework.boot.autoconfigure.*;import org.springframework.stereotype.*;import org.springframework.web.bind.annotation.*;@RestController@EnableAutoConfigurationpublic class Example { @RequestMapping("/") String home() { return "Hello World!"; } public static void main(String[] args) throws Exception { SpringApplication.run(Example.class, args); }}此处没有太多代码,具体让我们一步一步来讲解
4.1、@RestController和@RequestMapping注释
@RestConstroller注释标识一个类有特殊角色,在这里,就是告诉spring这个类是一个web@Controller,有请求来的时候spring就会酌情考虑
@RequestMapping注释标识的是通道信息,它告诉spring,任何一个路径是“/”的http请求都应该映射到home方法,@RestController注释告诉spring
把结果以字符串的形式直接返回给请求者
这两个注释都是SpringMvc的注释(在SpringBoot这里并没有什么特殊的)
4.2、@EnableAutoConfiguration注释
第二个类级别的注释是@EnableAutoConfiguration,这个注释告诉spring进行相应配置,这个相应是根据上面配置的spring-boot-starter-web
告诉了spring我们在开发一个web程序,spring进行相应配置即可
4.3、main方法
main方法历来是约定了一个程序入口,这里我们在main方法会唤起执行SpringApplication
,SpringApplication
会启动我们的应用,启动自动装配的tomcat server
5、执行程序
此时我们的应用就可以工作了。因为我们引入过spring-boot-starter-parent,它是一个可以运行的目标,我们可以在工程根目录下使用mvn spring-boot:run启动应用
此时如果在浏览器中访问localhost:8080 ,就可以看到输出hello world
按ctrl+c可以退出应用
6、制作一个可执行的jar
可以制作一个自执行的jar,制作jar需要在pom.xml中加入spring-boot-maven-plugin,在dependencies下面加入如下内容
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins></build>
保存pom.xml,然后执行mvn package命令这个时候去target文件夹中查看就能够看到myproject-0.0.1-SNAPSHOT.jar,此时如果想看看jar中机构,可以执行
$ jar tvf target/myproject-0.0.1-SNAPSHOT.jar
能够在target目录下看到一个更小版的myproject-0.0.1-SNAPSHOT.jar.original,这是SrpingBoot二次打包前maven创建的可以使用java -jar命令让应用跑起来
- 第一个SpringBoot应用-HelloWorld【原创翻译-翻译自官网用户指南】
- Android开发之创建你的第一个应用(翻译自谷歌官方,原版翻译)
- 第一个springboot应用
- 使用springboot创建第一个helloworld项目
- 第一节:SpringBoot第一个HelloWorld程序
- HDFS用户指南(翻译)
- HDFS用户指南(翻译)
- Violet用户指南(翻译)
- RestEasy+用户指南+翻译索引
- gradle插件用户指南(翻译)
- android第一个应用-helloWorld
- springboot第一个应用hello
- commons-fileupload用户指南(文档翻译
- Gradle Android插件用户指南翻译
- Gradle Android插件用户指南翻译
- [翻译]创建第一个Windows Phone应用程序
- 小白学tkinter(第一个程序 有道翻译)
- 第一个python爬虫实战项目---翻译
- 数字证书及CA简单介绍
- 解决事件冲突的三种函数
- 关于Microsoft.Office.Interop.Excel的一些简单操作
- 消息中间件的技术选型心得-RabbitMQ、ActiveMQ和ZeroMQ
- NYOJ:309 BOBSLEDDING
- 第一个SpringBoot应用-HelloWorld【原创翻译-翻译自官网用户指南】
- Memory Barriers(内存屏障): a Hardware View for Software Hackers 阅读笔记
- 聊聊高并发系统之限流特技
- 了解协程
- Invalid bound statement (not found)
- [高并发Java 二] 多线程基础
- 自动生成与数据库交互代码
- DrawerLayout——侧滑
- 第2周项目0 宣告主权