一個簡單的spring-boot例子
1.下載Maven:
https://maven.apache.org/download.cgi
2.解壓放入Idea外掛目錄
3.配置Maven環境變數
4.建立專案
5.預設配置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.chao.spring</groupId>
<artifactId>spring-boot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>spring-boot</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.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-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</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>
6.編寫測試程式碼:
@RestController
@SpringBootApplication
public class Application {
@RequestMapping("/")
String index() {
return "Hello Spring Boot";
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
7.配置application.properties:
server.port=8000
server.tomcat.uri-encoding=utf-8
#MySQL
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/ssm?characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root
8.執行專案:
9.訪問專案:
10.配置jar:
<build>
<finalName>spring-boot</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
<mainClass>com.chao.spring.Application</mainClass>
</configuration>
</plugin>
</plugins>
</build>
11.終端執行打包:
mvn package
12.打包出錯時(二選一):
- 跳過測試打包:
mvn clean package -Dmaven.test.skip=true
- 新增外掛:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.4</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
13.執行jar專案:
java -jar target\spring-boot.jar
附完整pox.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.chao.spring</groupId>
<artifactId>spring-boot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>spring-boot</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.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-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>spring-boot</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
<mainClass>com.chao.spring.Application</mainClass>
</configuration>
</plugin>
</plugins>
</build>
</project>
附完整application.properties配置:
server.port=8000
server.tomcat.uri-encoding=utf-8
#MySQL
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/ssm?characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root
#Spring Data JPA
spring.jpa.database=MYSQL
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
# Naming strategy
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
# stripped before adding them to the entity manager)
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
#檢視層控制
spring.mvc.view.prefix=classpath:/templates/
spring.mvc.view.suffix=.html
spring.mvc.static-path-pattern=/static/**
專案後臺執行:
上面的執行方式,只要控制檯關閉,服務就不能訪問了。下面我們使得 jar 包在後臺執行。
java -jar target\spring-boot.jar > log.file 2>&1 &
對於上面的命令的解釋:
bash 中 0、1、2 三個數字分別代表 STDIN_FILENO 、 STDOUT_FILENO 、STDERR_FILENO ,即標準輸入(一般是鍵盤),標準輸出(一般是螢幕,準確的說是使用者終端控制檯),標準錯誤(出錯資訊輸出)。
關掉後臺執行的 Spring Boot 的服務:
ps aux | grep spring | xargs kill -9
相關文章
- 一個簡單的「IOC」例子
- 擼一個簡單的MVVM例子MVVM
- 一個最簡單的 Github workflow 例子Github
- 一個簡單的netty通訊的例子Netty
- JUnit概述及一個簡單例子單例
- WebRTC:一個視訊聊天的簡單例子Web單例
- 一個簡單的生活例子,感受TRIZ的魅力!
- 一個簡單的例子瞭解async跟defer
- 一個簡單的例子教會您使用javapJava
- Unity如何連線伺服器: 一個簡單的例子Unity伺服器
- spring 簡單的使用 Hikari連線池 和 jdbc連線mysql 的一個簡單例子SpringJDBCMySql單例
- python+flask 編寫一個簡單的登入介面例子PythonFlask
- python+flask編寫一個簡單的登入介面例子PythonFlask
- SAP MM採購定價過程的一個簡單例子單例
- 一個簡單的例子理解Kubernetes的三種IP地址型別型別
- 通過一個簡單的例子,瞭解 Cypress 的執行原理
- SAP人工智慧服務Recast.AI的一個簡單例子人工智慧ASTAI單例
- 一個簡單例子教會你C++動態庫的用法單例C++
- 簡單的整合 shiro + SpringMVC 例子SpringMVC
- Laravel 關聯查詢 ——一對一 簡單例子Laravel單例
- Matplotlib1.簡單例子單例
- go語言如何入門?從一個簡單例子開始學起Go單例
- 轉一篇OpenSSL的例子:簡單的TLS伺服器TLS伺服器
- Laravel 5 關聯查詢 ——一對 N 簡單例子Laravel單例
- 一個簡簡單單的紅點系統框架框架
- 一個簡單的 PWA 指南
- 一個簡單的Tessellation Shader
- expdp一個例子
- 郵箱 郵政編碼 等幾個簡單的 正則 表示式的幾個例子?
- Spring Boot 中使用Caffeine快取的簡單例子Spring Boot快取單例
- Rust 程式設計中使用 leveldb 的簡單例子Rust程式設計單例
- 一個複雜的json例子JSON
- 實現一個簡單的TomcatTomcat
- 一個簡單的 Amqp 封裝MQ封裝
- [譯]ViewModels:一個簡單的示例View
- 寫一個簡單的 Facade 示例
- 一個最簡單的web componentsWeb
- 建立一個簡單的小程式
- 一個簡單的MVP模式案例MVP模式