转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/82802137
本文出自【我是干勾鱼的博客】
Ingredient:
-
Java:Java SE Development Kit 8u162(Oracle Java Archive),Linux下安装JDK修改环境变量
-
Eclipse:Eclipse Neon 3 Packages
-
SpringBoot: SPRING INITIALIZR(Spring Boot)
1 SpringBoot是什么
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架
2 Hello World
2.1 访问官网
2.2 选择配置
- Generate a:Maven Project
- With:Java
- Spring Boot:2.0.5
按以上选择后,点击下方中间的“Generate Project”,即生成了Demo文件,下载下来解压后是一个Maven工程。
2.3 Eclipse引入Maven工程
在Eclipse Neon 3 Packages中Import之前下载并解压缩的Demo,注意Import界面里select的是:
Maven -> Existing Maven Projects
引入过程中可能会遇到一些坑,可以参考:
Eclipse中import进project后,出现“没有build path或build path为灰色不可编辑”问题的解决
Eclipse去import进Maven项目时出现“Non-resolvable parent POM for com.example:demo:0.0.1-SNAPSHOT”问题的解决
2.4 加入web模块
2.4.1 修改pom.xml
在pom.xml中加入web模块,也就是加入:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
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>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.5.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</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
2.4.2 加入controller代码
在:
com.example.demo.DemoApplication.java
文件中加入:
@RequestMapping("/hello")
public String index() {
return "Hello World!";
}
文件完整内容如下:
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@RequestMapping("/hello")
public String index() {
return "Hello World!";
}
}
注意这里在类的头部引入:
@RestController
在2.4.1中对pom.xml的修改正是为了能正确的引入这个注解。
2.5 浏览器访问
启动2.4.2的:
com.example.demo.DemoApplication.java
文件,控制台会输出:
. ____ _ __ _ _
/\ / ’ __ _ () __ __ _ \ \ \
( ( )__ | '_ | '| | ’ / ` | \ \ \
\/ )| |)| | | | | || (| | ) ) ) )
’ || .__|| ||| |__, | / / / /
=|_|======|/=////
:: Spring Boot :: (v2.0.5.RELEASE)
…
等信息,打开浏览器,访问:
能够看到浏览器输出了相应的结果:
Hello World!
3 SpringBoot的配置文件
Spring Boot使用一个全局的配置文件,有2种方式:
- 1:application.properties
- 2:application.yml
配置文件一般放在:
src/main/resources
这个目录下。SpringBoot不仅支持properties这种类型的配置文件,也支持yaml语言的配置文件,拿properties类型的配置文件举例说说。
3.1 修改Tomcat默认端口
Tomcat的默认端口是8080,如果我们要将其改为8081,只需在文件:
application.properties
中添加:
server.port=8081
即可,访问路径改为:
浏览器同样输出:
Hello World!
3.2 引用配置文件的属性值
3.2.1 application.properties
内容如下:
server.port=8081
server.tomcat.uri-encoding=UTF-8
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true
spring.messages.encoding=UTF-8
boy.name=zhangsan
boy.age=18
3.2.2 DemoApplication.java
package com.example.demo;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@SpringBootApplication
public class DemoApplication {
@Value("${boy.name}")
private String boyName;
@Value("${boy.age}")
private String boyAge;
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@RequestMapping("/hello")
public String index() {
return "Hello World! The boy is "+boyName+"; and his age is "+boyAge;
}
}
3.2.3 运行
运行文件DemoApplication.java,然后在浏览器输入:
浏览器会输出:
Hello World! The boy is zhangsan; and his age is 18
4 发布部署
在Eclipse中,先清理工程:
右键点击工程 -> Run as -> Maven clean
然后发布:
右键点击工程 -> Run as -> Maven install
会在目录:
{工程路径}/target/
下生成相应的jar包,在该路径下运行:
java -jar 包名称.jar
工程就运行起来了
5 参考
玩转Spring Boot 第一个应用Hello World
Eclipse中import进project后,出现“没有build path或build path为灰色不可编辑”问题的解决
Eclipse去import进Maven项目时出现“Non-resolvable parent POM for com.example:demo:0.0.1-SNAPSHOT”问题的解决