Submit Search
Upload
Spring boot劇的ビフォーアフター
•
Download as PPTX, PDF
•
6 likes
•
6,353 views
O
orekyuu
Follow
SpringBoot劇的ビフォーアフター
Read less
Read more
Software
Report
Share
Report
Share
1 of 91
Download now
Recommended
Kotlinあるある言いたい
Kotlinあるある言いたい
yy yank
Kotlinメジャーver リリースを前に
Kotlinメジャーver リリースを前に
yy yank
普段C#を使っている僕から見たKotlin
普段C#を使っている僕から見たKotlin
Ryota Murohoshi
Kotlin as an AltJS
Kotlin as an AltJS
Shinya Mochida
Kotlinこんなん出ましたけど
Kotlinこんなん出ましたけど
yy yank
Kotlinのwebフレームワーク探訪
Kotlinのwebフレームワーク探訪
豊明 尾古
KuromojiをKotlinで動かす
KuromojiをKotlinで動かす
yy yank
3分で作る Kotlin Friendly な API
3分で作る Kotlin Friendly な API
Hiroshi Kikuchi
Recommended
Kotlinあるある言いたい
Kotlinあるある言いたい
yy yank
Kotlinメジャーver リリースを前に
Kotlinメジャーver リリースを前に
yy yank
普段C#を使っている僕から見たKotlin
普段C#を使っている僕から見たKotlin
Ryota Murohoshi
Kotlin as an AltJS
Kotlin as an AltJS
Shinya Mochida
Kotlinこんなん出ましたけど
Kotlinこんなん出ましたけど
yy yank
Kotlinのwebフレームワーク探訪
Kotlinのwebフレームワーク探訪
豊明 尾古
KuromojiをKotlinで動かす
KuromojiをKotlinで動かす
yy yank
3分で作る Kotlin Friendly な API
3分で作る Kotlin Friendly な API
Hiroshi Kikuchi
Kotlinソースコード探訪
Kotlinソースコード探訪
yy yank
KotlinつかってQiitaクライアント作った時の話
KotlinつかってQiitaクライアント作った時の話
shinnosuke kugimiya
Kotlinにお触り
Kotlinにお触り
Shinobu Okano
KotlinAndroidLibを使ってみた
KotlinAndroidLibを使ってみた
豊明 尾古
Kotlinで快適Android開発 #W8lt
Kotlinで快適Android開発 #W8lt
Junpei Matsuda
言語設計者が意味論を書くときに考えていたこと
言語設計者が意味論を書くときに考えていたこと
Taku Miyakawa
NDS36 Kotlin Cute
NDS36 Kotlin Cute
Yukiya Nakagawa
コルーチンの実装について
コルーチンの実装について
Taku Miyakawa
LL Ring Recursive ライトニングトーク
LL Ring Recursive ライトニングトーク
Ryuichi Ueda
Rubyistのためのkotlin紹介
Rubyistのためのkotlin紹介
豊明 尾古
Kotlinの紹介
Kotlinの紹介
豊明 尾古
LDDによるWebアプリケーション開発
LDDによるWebアプリケーション開発
Munenori Sugimura
Pythonによる4足歩行ロボットの制御と強化学習による歩行動作獲得の実例 #pyconjp
Pythonによる4足歩行ロボットの制御と強化学習による歩行動作獲得の実例 #pyconjp
Hideyuki TAKEI
Play meetup 2 2015.07.05
Play meetup 2 2015.07.05
Junichi Okamura
イベント駆動とノンブロッキング #hokkaidopm
イベント駆動とノンブロッキング #hokkaidopm
鉄次 尾形
かわいいKotlinでAndroidアプリをつくろう
かわいいKotlinでAndroidアプリをつくろう
gyro_s
今年作ったもの2013 #hokkaidopm
今年作ったもの2013 #hokkaidopm
鉄次 尾形
IT業界における伝統芸能の継承 #hachiojipm
IT業界における伝統芸能の継承 #hachiojipm
鉄次 尾形
140120_innovation WS_robot meets ife
140120_innovation WS_robot meets ife
Taketo Mogi
ランダムにおちるfeature_system spec対策rspec-retry_ex の 紹介
ランダムにおちるfeature_system spec対策rspec-retry_ex の 紹介
Yuya Taki
More Related Content
What's hot
Kotlinソースコード探訪
Kotlinソースコード探訪
yy yank
KotlinつかってQiitaクライアント作った時の話
KotlinつかってQiitaクライアント作った時の話
shinnosuke kugimiya
Kotlinにお触り
Kotlinにお触り
Shinobu Okano
KotlinAndroidLibを使ってみた
KotlinAndroidLibを使ってみた
豊明 尾古
Kotlinで快適Android開発 #W8lt
Kotlinで快適Android開発 #W8lt
Junpei Matsuda
言語設計者が意味論を書くときに考えていたこと
言語設計者が意味論を書くときに考えていたこと
Taku Miyakawa
NDS36 Kotlin Cute
NDS36 Kotlin Cute
Yukiya Nakagawa
コルーチンの実装について
コルーチンの実装について
Taku Miyakawa
LL Ring Recursive ライトニングトーク
LL Ring Recursive ライトニングトーク
Ryuichi Ueda
Rubyistのためのkotlin紹介
Rubyistのためのkotlin紹介
豊明 尾古
Kotlinの紹介
Kotlinの紹介
豊明 尾古
LDDによるWebアプリケーション開発
LDDによるWebアプリケーション開発
Munenori Sugimura
Pythonによる4足歩行ロボットの制御と強化学習による歩行動作獲得の実例 #pyconjp
Pythonによる4足歩行ロボットの制御と強化学習による歩行動作獲得の実例 #pyconjp
Hideyuki TAKEI
Play meetup 2 2015.07.05
Play meetup 2 2015.07.05
Junichi Okamura
イベント駆動とノンブロッキング #hokkaidopm
イベント駆動とノンブロッキング #hokkaidopm
鉄次 尾形
かわいいKotlinでAndroidアプリをつくろう
かわいいKotlinでAndroidアプリをつくろう
gyro_s
今年作ったもの2013 #hokkaidopm
今年作ったもの2013 #hokkaidopm
鉄次 尾形
IT業界における伝統芸能の継承 #hachiojipm
IT業界における伝統芸能の継承 #hachiojipm
鉄次 尾形
140120_innovation WS_robot meets ife
140120_innovation WS_robot meets ife
Taketo Mogi
ランダムにおちるfeature_system spec対策rspec-retry_ex の 紹介
ランダムにおちるfeature_system spec対策rspec-retry_ex の 紹介
Yuya Taki
What's hot
(20)
Kotlinソースコード探訪
Kotlinソースコード探訪
KotlinつかってQiitaクライアント作った時の話
KotlinつかってQiitaクライアント作った時の話
Kotlinにお触り
Kotlinにお触り
KotlinAndroidLibを使ってみた
KotlinAndroidLibを使ってみた
Kotlinで快適Android開発 #W8lt
Kotlinで快適Android開発 #W8lt
言語設計者が意味論を書くときに考えていたこと
言語設計者が意味論を書くときに考えていたこと
NDS36 Kotlin Cute
NDS36 Kotlin Cute
コルーチンの実装について
コルーチンの実装について
LL Ring Recursive ライトニングトーク
LL Ring Recursive ライトニングトーク
Rubyistのためのkotlin紹介
Rubyistのためのkotlin紹介
Kotlinの紹介
Kotlinの紹介
LDDによるWebアプリケーション開発
LDDによるWebアプリケーション開発
Pythonによる4足歩行ロボットの制御と強化学習による歩行動作獲得の実例 #pyconjp
Pythonによる4足歩行ロボットの制御と強化学習による歩行動作獲得の実例 #pyconjp
Play meetup 2 2015.07.05
Play meetup 2 2015.07.05
イベント駆動とノンブロッキング #hokkaidopm
イベント駆動とノンブロッキング #hokkaidopm
かわいいKotlinでAndroidアプリをつくろう
かわいいKotlinでAndroidアプリをつくろう
今年作ったもの2013 #hokkaidopm
今年作ったもの2013 #hokkaidopm
IT業界における伝統芸能の継承 #hachiojipm
IT業界における伝統芸能の継承 #hachiojipm
140120_innovation WS_robot meets ife
140120_innovation WS_robot meets ife
ランダムにおちるfeature_system spec対策rspec-retry_ex の 紹介
ランダムにおちるfeature_system spec対策rspec-retry_ex の 紹介
Spring boot劇的ビフォーアフター
1.
SpringBoot + Kotlin 劇的ビフォーアフター @orekyuu
2.
自己紹介 • @orekyuu • 京都コンピュータ学院
情報科学科4回生 • IDEはIntelliJ IDEAが好き
3.
_人人人人人人人人人_ > 突然の宗教戦争 <  ̄Y^Y^Y^Y^Y^Y^Y^Y ̄
4.
5.
KotlinはAndroid だけじゃないぞ!
6.
そんな話
7.
この会場でKotlin を使っている方 会場の10割くらいを想定
8.
KotlinをAndroid で使っている方 Kotlinを使ってる方の8割を想定
9.
KotlinをAndroid 以外でも使っている方
10.
SpringInitializerのLanguageで Kotlinが選べるようになった!
11.
12.
13.
( っ’ω’c)ほう……
14.
15.
( っ’ω’c)悪くない……
16.
17.
( っ’ω’c)うごいた!
18.
( っ’ω’c)これからは Kotlinだ!
19.
とはならないよね?
20.
動いたけど・・・ • DIとKotlinって相性悪そう • JavaのフレームワークでKotlin使うの怖い •
落とし穴多そう
21.
( ^q^)Kotlin+SpringBootのう まくいかない所探すぞ〜〜 〜
22.
( ^q^)DIどうすんのよ
23.
@Inject private var hoge:
Hoge? = null
24.
▂▅▇█▓▒░(’ω’)░▒▓█▇▅▂ うわあああああああああ
25.
@Inject private var hoge:
Hoge? = null nullableになっているのがダサい 値分かりきってるのに 書きたくない
26.
解決策
27.
lateinitを使おう
28.
@Inject private lateinit var
hoge: Hoge
29.
KotlinはDIのことも ちゃんと考えられている !
30.
31.
( っ’ω’c)ええやん
32.
NEXT
33.
( ^q^)JRebel使える?
34.
JRebelとは
35.
アプリを再起動せず コードの変更を反映 できるやつ
36.
DEMO
37.
結論: 問題なく動く
38.
NEXT
39.
( ^q^)AOP大丈夫なの?
40.
試してみた
41.
42.
( っ’ω’c)実行!
43.
44.
( ^q^)…
45.
( ^q^)……
46.
47.
( ^q^)???
48.
動いてない
49.
50.
Kotlinでは finalがデフォルト
51.
openにすれば 動く
52.
NEXT
53.
@Bean
54.
55.
値を返すだけなら fun hoge() =
式 と書ける
56.
( っ’ω’c)ええやん
57.
58.
( っ’ω’c)oh…
59.
Configuration problem: @Bean method
‘hogeService' must not be private or final; change the method's modifiers to continue
60.
訳: openにしろや
61.
ハマリポイント まとめ
62.
63.
基本的に openにする/しない に気をつければ良さそう
64.
???「わざわざKotlin 使う意味あるの?」
65.
Kotlinを使って 嬉しいところ
66.
CASE 1 POJO
67.
Kotlinのフィールドには getter/setterが 生えてくる
68.
class User { private
String id; private String name; public User() {} public User(String id, String name){…} (getter/setterが続く…) }
69.
class User( var id:
String = “”, var name: String = “” )
70.
getter/setter👋
71.
CASE 2 nullの扱い
72.
Javaでは nullへの対策 どうしてますか?
73.
JSR-305 @Nonnull @Nullable
74.
@Nullable public String hoge( @Nonnull
String str1, @Nullable String str2) { }
75.
fun hoge( str1: String, str2:
String?): String?
76.
アノテーション書いてって 言っても書かない人出てく る💢
77.
Kotlinなら大丈夫👏
78.
Annotation👋
79.
80.
ハマリポイント+資料の少なさ VS Kotlinを使うメリット
81.
天秤にかけて どっちに傾くか
82.
僕はKotlinに 傾きました
83.
84.
JavaからKotlinに 移行中です
85.
86.
用法用量を守って 正しく使いましょう
87.
88.
89.
よかったら 声かけてください
90.
91.
_人人人人人人_ > 質問とか <  ̄Y^Y^Y^Y^Y ̄
Editor's Notes
@orekyuuです 京都駅の近くにある専門学校に通っています IDEはIntelliJ IDEA
SpringInitializerの言語選択でKotlinが選べるようになりました!
Download now