Skip to content

bonsuke/SpringKadaiProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SpringKadaiProject(spring-kadai)

Spring Boot の課題用プロジェクトです。
このリポジトリには **DI(依存性注入)**の3パターンと、Spring Profile(dev/prod)で注入先を切り替えるサンプルを含みます。


前提

項目
Java 21(pom.xmljava.version
Build Maven(mvnw / mvnw.cmd 同梱)
Spring Boot 3.5.x(pom.xml の parent)

起動方法

Maven Wrapper(推奨)

Windows(PowerShell):

.\mvnw spring-boot:run

Maven

mvn spring-boot:run

エンドポイント

URL 内容
/ Hello(HelloController
/demo/injection DIサンプル3種の結果をまとめて返す
/demo/injection/constructor コンストラクタ注入の結果
/demo/injection/setter セッター注入の結果
/demo/injection/field フィールド注入の結果

/demo/injection*InjectionDemoController が提供します。


Spring Profile(dev / prod)

このプロジェクトでは LessonTagSource の実装をプロファイルで切り替えています。

プロファイル 戻り文字列(tag)
dev 開発
prod 本番

既定は src/main/resources/application.propertiesspring.profiles.active=dev です。

prod で起動する例

環境変数:

set SPRING_PROFILES_ACTIVE=prod
.\mvnw spring-boot:run

JVM 引数:

.\mvnw spring-boot:run -Dspring-boot.run.arguments=--spring.profiles.active=prod

パッケージ構成(DI サンプル)

目的 パッケージ
DI 例(コンストラクタ注入) com.example.springkadai.di.sample.constructor
DI 例(セッター注入) com.example.springkadai.di.sample.setter
DI 例(フィールド注入) com.example.springkadai.di.sample.field
注入される契約(interface) com.example.springkadai.di.sample.lessontag
注入される実装(開発) com.example.springkadai.di.sample.lessontag.dev
注入される実装(本番) com.example.springkadai.di.sample.lessontag.prod

docs(学習メモ)

ファイル 内容
docs/01_Spring の依存性注入(DI)の種類.md DI 3種類の整理、メリット、コード例
docs/02_プロファイルによるインジェクションの切り替え.md Profile の切替方法、dev/prod で注入先を切り替える例
docs/03_シングルトンとスレッドセーフ.md singleton と thread-safe の違い、良い/悪い例

About

自宅学習のSpringBoot課題

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages