風だより
今日、Spring BootがMavenを殺したブログを読みました!私はいつも自分で作りたかったです。
プロジェクトをビルドする
入力するために、このウェブサイトを SpringBootデモプロジェクトを生成します。
次のように:
プロジェクトをエクスポートした後、プロジェクトを解凍してディレクトリに配置し、IDEAに注ぎます。
これらのいくつかには、多数のコア依存関係が含まれています。基本的なインポート後は、Springに関連することについてあまり気にする必要はありません。サードパーティの直接依存関係を使用する場合は、詳細について以下のbuild.gradleを参照してください。
プロジェクトをインポート
[開く]を選択し、解凍したプロジェクトを選択します。通常、プロジェクトは解凍後に呼び出されます。競合がある場合は、自分で名前を変更してください。
次に、JDK環境を選択して、次のステップに進みます。
画像の右下隅の問題は、gradleのバージョンが高すぎ、アイデアのバージョンが低すぎるためです。
ただし、バージョンセットが低すぎるか、指定されたバージョンではない場合、次のようにエラーが報告されます。
したがって、上記の問題を回避するために、5.6を設定します.1。設定後、下図の右下にポップアップウィンドウが表示されますので、自動インポートを有効にするを選択します。
次に、[ビルド]-> [プロジェクトのビルド]を選択します。
モジュール設定を開き、インストールしたJDKを選択する必要があります。
最初にプロジェクトのルートディレクトリを選択します。Command+下キーまたはMy Fn + F4で開くことができます。
次に、[ビルド]-> [プロジェクトのビルド]を再度選択します
プロジェクト構成
プロジェクト構成のほとんどは、再生成時に選択されています。
build.gradleコンテンツ
plugins {
id 'org.springframework.boot' version '2.3.1.RELEASE'
id 'io.spring.dependency-management' version '1.0.9.RELEASE'
id 'java'
}
group = 'com.lyd'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.3'
implementation 'com.alibaba:druid-spring-boot-starter:1.1.10'
compileOnly 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
runtimeOnly 'mysql:mysql-connector-java'
annotationProcessor 'org.projectlombok:lombok'
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
}
test {
useJUnitPlatform()
}
application.propertiesファイルの内容
#datasource
spring.datasource.url=jdbc:mysql://localhost:3306/credit?characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#set tomcat port context
#端口被占用的话就换一个
server.port=8082
server.servlet.context-path=/demo
新しいバージョンでは、server.context-pathは無効になっています。統合アクセスパスを設定した後は有効になりません。server.servlet.context-pathに変更してください。
application.ymlファイルの内容
#spring的配置
spring:
datasource:
name: sqldata
url: jdbc:mysql://localhost:3306/credit?characterEncoding=UTF-8 #配置在 配置中心
username: root #配置在 配置中心
password: 123456 #配置在 配置中心
# 使用druid数据连接池
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.jdbc.Driver
filters: stat
maxActive: 20
initialSize: 1
maxWait: 60000
minIdle: 1
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 'x' FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
maxOpenPreparedStatements: 20
aop:
proxy-target-class: true
#把内置的tomcat 参数 配置在 properties文件中,以便日后使用配置中心
# #tomcat容器的配置
#server:
# context-path: /lyd
# port: 8082
#mybatis的配置
mybatis:
type-aliases-package: com.lyd.demo.mapper
mapper-locations: classpath*:mappings/**/*.xml
簡単なテストコード
SpringBootブート構成
ステップ2のコードを参照できます。
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@GetMapping("/hello")
public String hello(@RequestParam(value = "name", defaultValue = "World") String name) {
return String.format("Hello %s!", name);
}
}
サービスを開始
私たちはgradleプロジェクトであり、私たちは
./gradlew rootRun
進行状況が75%に達しても問題ありません。下の図でエラーがなく、ポートの占有もないことがわかると、成功しています。
次に、http:// localhost:8082 / demo / hello?name = xxxxxxに
正常にアクセスします。
故障中
多くの停止中のサービスを読んだ後、サービスプロセスIDを表示して直接実行するほうが簡単です。
kill -9 [pid] 如:kill -9 800
pidを確認するにはどうすればよいですか?
最初:
ps -ef | grep [Application名称,只要能查到就行]
如:ps -ef | grep DemoApplication
次に、下の図の2番目の数字がプロセスIDであることがわかります。次に、kill -9 1268を実行します。2
番目のタイプ:
./gradlew bootRunを実行すると、次の図が表示され
ます。最初の方法でも同じことがわかりました。
では、kill -9を実行しましょう1268
もう1つのポイントは、。/ gradlew bootRunを強制終了した後に再実行することです。サービスを開始するときは、少し長く待機する必要があるため、あまり速く開始されない可能性があり、404を要求し続けることになります。