Spring Bootとは
Spring BootとはJavaのフレームワークであり、主に@
を使用したアノテーションと呼ばれるものを使用します。
アノテーションというのは注釈という意味であり、コード上に注釈として記述することでそのプログラムが何をするのかというのを伝えることが出来ます。
@Overrideは使われることが多いですよね。
基本的にクラスやメソッド、変数の前に定義されます。
Springの機能を用いることでアノテーションを使って様々なことができます。
細かくどういったことができるのかというのは後述します。
Spring Bootを使用するメリット・デメリット
メリット
- コードが読みやすくなる
- コード量の減少
デメリット
- springの知識が無いと他人が読み取れない
基本的にはコード量が減少することで見やすくなるためメリットの方が大きいです。
SpringBootで使用出来るアノテーション
@Controller
画面遷移を行う際にコントローラーとして認識させることができる
Controllerについて詳細に知りたい方はこちらを参考にしてください
使用例
@Controller
public class クラス名 {
}
@Service
クラスに付与することでサービスクラスにすることができる
使用例
@Service
public class クラス名 {
}
@Data
クラスに付与することでデータクラスにすることができる
setterやgetterなど使用する際に用いる
使用例
@Data
public class クラス名 {
}
@GetMapping()
HTTPリクエストでGETメソッドを受け付ける際にメソッドの最初に付与する
使用例
@Controller
public class クラス名 {
@GetMapping("パス名")
public void メソッド名() {
}
}
@PostMapping()
HTTPリクエストでPOSTメソッドを受け付ける際にメソッドの最初に付与する
使用例
@Controller
public class クラス名 {
@PostMapping("パス名")
public void メソッド名() {
}
}
@PutMapping()
HTTPリクエストでPUTメソッドを受け付ける際にメソッドの最初に付与する
使用例
@Controller
public class クラス名 {
@PutMapping("パス名")
public void メソッド名() {
}
}
@DeleteMapping()
HTTPリクエストでDELETEメソッドを受け付ける際にメソッドの最初に付与する
使用例
@Controller
public class クラス名 {
@DeleteMapping("パス名")
public void メソッド名() {
}
}
@RequstMapping()
@Controllerを付与したクラスに付けることで、リクエスト時に指定しているURLに属性(どういった処理を行うか)を指定できる。
使用例
@Controller
public class クラス名 {
@RequstMapping(value = "パス名", Method = RequestMethod.POST)
public void メソッド名() {
}
}
@Transactional
Transactionalアノテーションを付与しているクラスやメソッド内でエラーが起きた場合にDBをロールバックすることができる。
Transactionalについて詳細に知りたい方はこちらを参考にしてください
使用例
@Service
@Transactional
public class クラス名 {
}
@Autowired
Autowiredアノテーションを付与することでnew クラス名()を使用せずにインスタンス化できる。DI(依存性の注入)を行います。DIについてはこちらの記事が分かりやすいです。
使用例
public interface SampleBean {
public String getParametor();
}
public class SampleBeanImpl implements SampleBean {
public String getParametor() {
}
}
@Controller
public class SampleController {
@Autowired
SampleBean sampleBean
public void メソッド名() {
sampleBean.getParametor()
}
}