Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Hello Spring(202109社内勉強会)
Search
shimadamiyuki
September 16, 2021
0
95
Hello Spring(202109社内勉強会)
月一で実施している社内勉強会の資料です(2021.09)
shimadamiyuki
September 16, 2021
Tweet
Share
More Decks by shimadamiyuki
See All by shimadamiyuki
20240912 JJUGナイトセミナー
mii1004
0
240
STORES決済の裏側のはなし(Code Polaris 色んなエンジニアLT大会)
mii1004
0
270
オブジェクト指向がわからない(202201社内勉強会)
mii1004
0
140
たのしい情報収集(202112社内勉強会)
mii1004
0
97
リファクタリング?(202111社内勉強会)
mii1004
0
86
OpenAPI Generator使ってみる(Java女子部ハロウィンLT)
mii1004
0
73
ビルドツールの話(202110社内勉強会)
mii1004
0
110
StreamAPI, Lambdaと仲良くなる(202108社内勉強会)
mii1004
0
110
Javaはじめのいっぽ(202107社内勉強会)
mii1004
0
120
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
GitHub's CSS Performance
jonrohan
1031
460k
Fireside Chat
paigeccino
37
3.5k
Typedesign – Prime Four
hannesfritz
42
2.7k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
The Language of Interfaces
destraynor
158
25k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Documentation Writing (for coders)
carmenintech
71
4.9k
Transcript
Hello Spring 9⽉チーム会
Springってなんだっけ • Pivotal社が中⼼となってオープンソースで開発されているJavaフレー ムワーク https://spring.io/ https://github.com/spring-projects • Spring Frameworkを中⼼に、⾊々なプロジェクトが集まっている
Springのプロジェクト https://spring.io/projects ・Spring Core(Spring Framework) ・Spring Boot ・Spring Web ・Spring
Data ・Spring Security ・・・など
Spring Framework(Spring Core) Springの⼀番基本的な(コアの 機能を提供する)プロジェクト Springのコア機能で Dependency Injectionが 最初に挙げられている
Springの特徴 Springといえば・・・「DI」と「AOP」 DI(Dependency Injection) ︓依存性の注⼊ AOP(Aspect Oriented Programming) ︓アスペクト指向プログラミング
Dependency Injection クラスが必要とするインスタンスを⾃分でnewするのでは なく、あらかじめ⽤意したインスタンスを注⼊する →クラス間の依存が低くなり、差し替えが容易になる クラスA クラスB DIコンテナ B B
アプリケーションの起動時に、 指定したクラスのインスタンスをDIコンテナに準備 (@Beanや@Componentとか) DIコンテナに準備されているインスタンスを コンストラクタインジェクションや @Autowiredで呼び出して使う
AOP 各コードに散在する共通的な処理を“Aspect”というモジュールとして 別のコードに分離する (ロギング、キャッシング、トランザクション管理など) →共通的な処理を毎回実装する必要がなくなり、Bean⾃体の実装は 本質的なことに集中できる 参考︓ SpringのDIコンテナの動作イメージ(雰囲気)を掴もう https://qiita.com/kazuki43zoo/items/7a0e96573e930ac934ed はじめるSpring
Boot2(有償/⼀部執筆中) https://ik.am/notes Spring 5 & Spring Boot 2ハンズオン https://qiita.com/suke_masa/items/44463518fdbbc13e0087
SpringのProject を作るには Spring initializerを使うのが便利 https://start.spring.io/