需要准備的環境:
idea 2017.2
jdk1.8.0_144
Maven 3.5.0
請提前將idea與Maven、jdk配置好,本次項目用的都是比較新的。
步驟:
一、首先使用idea新建一個Spring Initializr項目
根據需要來勾選,此處勾選了幾個常用的!
點擊Finish,建立項目完成!第一次使用可能要等好長一會。
二、配置
完成后可以看到如下目錄結構。
其中application.properties是配置文件,然而我們推薦使用yml格式配置,所以刪除它並新建application.yml、application-dev.yml、application-prod.yml。
其中application.yml為全局配置,application-dev.yml為開發環境所用配置,application-prod.yml為生成環境所用配置。
application.yml
spring: profiles:
#表示所用配置文件為application-dev.yml active: dev datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://xxxxxx:3306/ChatRobot?useUnicode=true&characterEncoding=utf8&useSSL=false username: xxxxx password: xxxxx tomcat: initialSize: 1 min-idle: 1 max-idle: 20 max-wait: 60000 timeBetweenEvictionRunsMillis: 60000 minEvictableIdleTimeMillis: 30000 validationQuery: SELECT 1 testWhileIdle: true testOnBorrow: false testOnReturn: false logging: file: logs/demo.log
此處配置了所用的配置文件,以及數據庫和數據庫連接池,還有日志輸出到文件,連接池使用官方建議的Tomcat連接池。
application-dev.yml
server:
port: 8080
此處配置開發環境使用8080端口。
application-prod.yml
server:
port: 443
ssl:
key-store: classpath:xxx.jks
key-store-password: xxx
keyStoreType: JKS
keyAlias: xxx
此處配置生產環境使用443端口,並配置了https,keyAlias為證書別名。
DemoApplication.java
package com.demo; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.scheduling.annotation.EnableScheduling; @SpringBootApplication @MapperScan("com.demo.dao") @EnableScheduling public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
這里就是程序入口,開發時直接運行即可。
@MapperScan("com.demo.dao"),掃描MyBatis的Mapper於dao包下。
@EnableScheduling啟用Spring Schedule定時任務,用不到的可以去掉。
配置大概就是這么多,非常簡單,其他使用方面和SSM沒什么區別,當然還可以配置Actuator來監控應用程序,相當強大。
三、發布
使用命令行進入工程目錄下執行以下命令。
mvn clean package
默認且推薦的打包方式為jar,集成了Tomcat在其中,當然也可以修改為war。
打包jar會存在數據目錄位置問題,我的解決方法是將數據目錄放到System.getProperty("user.dir")下面。
運行時直接執行下面的命令即可。
java -jar demo.jar
在linux上可使用如下命令來后台運行。
nohup java -jar demo.jar >/dev/null 2>&1 &