際際滷
Submit Search
皆沿姻庄稼乙階秘壇-皆沿姻庄稼乙と竃氏ってから1定磯-
?
Download as PPTX, PDF
?
4 likes
?
4,439 views
Ryosuke Uchitate
Follow
JJUG CCC 2016 Fall
Read less
Read more
1 of 67
Download now
Downloaded 28 times
More Related Content
皆沿姻庄稼乙階秘壇-皆沿姻庄稼乙と竃氏ってから1定磯-
1.
Spring階秘T -Springと竃氏ってから1定磯-
2.
mi presento *兆念債攸∩悉(うちたてりょうすけ) *あだ兆坤献Д鵐?フリ槻 槻來と溺來の倭g來鯉議な吭龍で *箸龍坤侫.奪轡腑?パン塁儔り 僖に嶄?クロワッサン *蒙室坤丱好 兜めてから15定くらい *侭奉Tagbangers 宥各タグバン
3.
Tagbangers *侭査痲妻佗馗隆曝 恷篠りは罪篋k予i15蛍 *芙t Irg?住宥M?宥輩M?o嚥の4つのみ *み氏 芙Lいじり *茶氏TAG BAR 兜指からちょうど1定
4.
AGENDA 1. 書指恬ったWebアプリケ`ションのB初 2. Springについて 3.
ソ`スコ`ドの盾h 4. おまけ
5.
1.書指恬ったWebアプ リケ`ションのB初
6.
旋喘宀砿尖アプリ ? 仟オ賠hC嬬 ? シC嬬 ?
匯E燕幣C嬬 ? 茅C嬬
7.
仟オ賠hC嬬の 撹
9.
え
10.
ビジネスロジックって よくくけど採だ
11.
Uすと、匍暦の胎尖
12.
ビジネスロジックは、デ`タベ`スとユ`ザ `インタフェ`スgの秤鵑里笋蠅箸蠅鰆酉 する返といったようなものを峺す┝斜g議 でない喘Zである。Wikipediaより
13.
匯冱で冱うと
14.
システム耕嗤の お碧並何蛍
15.
醤悶箭 ? 鮫中から斌瞳g秘薦すると、飽zでDBに鞠hす るI尖 ? 桑催が仝1234567々ではなく仝123-4567々の フォ`マットで秘薦されているかのチェックするI 尖
16.
よし、スッキリヾ
17.
2.皆沿姻庄稼乙について
18.
Springって採 ? Javaのフレ`ムワ`ク ? DI卆贋來の廣秘はとても嶷勣 ?
さまざまなプロジェクト
19.
え殖┗照妝音慊殖
20.
DI(Dependency Injection)災栖耒圓臨秘
21.
吭龍わからん
22.
DI ? DIとは、Springが砿尖しているインスタンスの BeanをちょうだいとおいしてDIコンテナから 輝w侭に廣秘してもらうこと DIコンテナ Beanを砿尖している筍 Bean Bean Bean Bean
UserCreateController.java Beanちょうだい Bean
23.
京艶温稼唆
24.
え?
25.
狭ってどういうこと
26.
{べてると、 コ`ヒ`狭からきてるっぽ い
27.
Java┘献礇錚 ? ジャワコ`ヒ`はインドネシアのジャ ワuをb仇とするコ`ヒ`狭。 WikiPediaより
28.
Beanも晩云ZUはo
29.
アドバイス
30.
晩云ZUに とらわれ^ぎない
31.
さらにもう1つ
32.
アノテ`ション竣≡ ってUさない圭がよい
33.
コメントとの`い採 ってなりました
34.
UYはこれくらいで 肝
35.
Spring Bootとは?
36.
Spring Boot-1- ? Spring
Frameworkでアプリケ`ションをgに恬 るための碧Mみ ? 2014定4埖にver1.0がリリ`スで1.4.2が恷仟 ? XMLやJavaConfigでのBean協x、ログのO協など が音勣
37.
Spring Boot-2- ? mavenに泙辰苫圓┐弌pom.xmlにくだけで卆贋 vSを盾Qしてくれる ?
措くもくもどういう咾をしているかよく岑らな くてもそれなりに埓里淵▲廛蠅恬れる
38.
どれくらいgかと 冱うと
39.
Spring Initializrでぽちぽちすれば、 児云O協でBされたプロジェク トを恬ることができる
40.
Spring Initialize?
41.
Spring Initializr https://start.spring.io/
42.
Spring Bootの 嶷勣な碧Mみ
43.
AutoConfigure ? Springが戻工しているプロジェクトやOSSを旋喘す るrに駅勣なBean協xをSpring Bootが徭咾俳个 てくれる碧Mみのこと 中宜なセットアップやO協がほとんど音勣になる pom.xmlにいたものを Bean鞠hするI尖など
44.
徭嘖O協を嗤燭砲垢襪砲錬 @SpringBootApplication public class Application
{ public static void main(String[] args) { SpringApplication.run(Application.class, args); } } このクラスに@Configurationを原嚥する
45.
でも、、、
46.
@Configurationないじゃん @SpringBootApplication public class Application
{ public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
47.
@SpringBootApplication に根まれている
48.
はず。でも、、、
49.
@Configurationないじゃん @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan(excludeFilters = @Filter(type
= FilterType.CUSTOM, classes = TypeExcludeFilter.class)) public @interface SpringBootApplication { あやしい
50.
つけた @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Configuration public @interface SpringBootConfiguration
{
51.
@SpringBootApplicationは3 つのアノテ`ションを 1つにまとめたもの
52.
@SpringBootApplication ? @EnableAutoConfiguration ? 徭嘖O協を嗤燭砲垢 ?
@ComponentScan ? このパッケ`ジ塘和で@Component、 @Service、@Controller、@RestController、 @Namedが原嚥されているクラスをDIコンテ ナに鞠hする ? @SpringBootConfiguration ? このクラス徭悶をBean協x辛嬬にする
53.
徭嘖O協が嗤燭 なるまでの送れ
54.
1.禽鴛コンテナ(粥沿沿鉛庄界温岳庄看稼遺看稼岳艶恰岳)恬撹
55.
2.京艶温稼酷温界岳看姻霞恬撹
56.
3.spring.factoriesiz、 BeanDefinition函累xk、Kび紋え
57.
4.京艶温稼鞠h
58.
3.ソ`スコ`ドの盾h
59.
pom.xml ?プロジェクトにvする秤鵑かれている ?聞いたいstarterやOSSの秤鵑鬚くとをレポジトリ から函ってくる <dependencies> ... <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> ... </dependencies>
60.
@Controller ?Controllerだよって縮える ?これをくとSpring Bootで徭嘖O協の鵑箸覆辰 Bean鞠hされる
61.
@RequestMapping ?create.htmlのactionで峺協したパスに匯崑している パスにマッピングされる ?Spring Boot 1.4からは@GetMappingや @PostMapping、@DeleteMappingなども鞠して いる @GetMapping
= @RequestMapping(method = RequestMethod.GET)
62.
@Validated ?formの秘薦・船Д奪をしてもらいたいときにつけ る @PostMapping public String save( @Validated
@ModelAttribute(name = FORM_MODEL_KEY) UserCreateForm form, BindingResult errors, RedirectAttributes redirectAttributes) {
63.
formの嶄にformがある ときのエラ`チェック
64.
UserCreateForm.java @Getter @Setter public class UserCreateForm
implements Serializable { @NotNull private String name; private Integer age; @NotNull private Gender gender; @Valid private AddressForm address; public UserCreateRequest toUserCreateRequest() { return new UserCreateRequest(getName(), getAge(), getGender(), Address.generateAddress(getAddress())); } } @ValidをつけるとFormのなかの Formの秘薦・船Д奪をする
65.
皆沿姻庄稼乙に房う並
66.
舞ってる
67.
おわり
Editor's Notes
ちなみに意温乙恢温稼乙艶姻壊ご贋岑のかた
こんな湖じで三します。その麿、皆沿姻庄稼乙を僥ぶときに羨ちはだかった謁を府初します。
児云議なCRUDアプリケ`ションをg廾することが謹いかな燭箸いΔ里函△錣りやすさのためにこのようなアプリケ`ションにしました。 書指は、仟オ賠hC嬬にgっておしします。gHにg佩してみます
仟オ賠hC嬬の撹蹐砲弔い噸h苧します。 このアプリケ`ションは、MVCパタ`ンでg廾しています。 MVCは、Model、View、Controllerの待でModelがビジネスロジック、ViewがUI、ControllerがModelとViewの崙囮の叨護をもっています。 ここでは、UserCreateFormがModel、create.htmlとsearch.htmlがView、UserCreateControllerがControllerをあらわしています。 create.htmlで秘薦して隠贋ボタンを兀すと、name奉來と揖じ兆念のFormのフィ`ルドに、鯉{されUserCreateControllerにI尖が卞ります。 UserCreateControllerからUserServiceにI尖が卞りDBに隠贋し、壅業ControllerにI尖が卞り、search.htmlにリダイレクトしています。 しくは瘁ほどh苧します。
匯冱で冱うと、、、、
SpringのコアC嬬となっているDIとAOPはとても嶷勣です。 さまざまなプロジェクトがあり、どのようなrに聞うか3つだけざっくりB初します。 まず、Spring Frameworkは、Webアプリケ`ションの_kするrに聞う。 肝に、Spring Dataは、デ`タベ`スにアクセスするrに聞う。 恷瘁に、Spring Securityは、ログイン鮫中恬りたいrとかあるペ`ジをる慙浤屬辰討襪チェックするrに聞う。 麿にもプロジェクトがあるのでぜひ{べてみてください。
よく串にするSpring Bootとは採でしょうか
バ`ジョン1.4からSpring 4.3をベ`スに恬られています。 Javaでアプリケ`ションを恬るのは中宜っていうイメ`ジが顕るほどgに兵められます。
Spring Initializrから兵めると返函り壼くアプリケ`ションを恬れます。 ビルドツ`ル?Spring Bootのバ`ジョン吉をxんでプロジェクト兆などを秘薦し、 仝Generate Project々を兀和します。 すると、秘薦した朕がO協された彜Bのプロジェクトのzipファイルが鯛ちてきます。 これをIDEにインポ`トするだけです。
AutoConfigureは、Spring Bootにおける階朕囁の碧Mみです。 これは、Spring Bootが佩う徭嘖O協の碧Mみであり、Bootの蒙罿裡韻弔煩圓┐襪里盃慴だと房いました。
Spring Initializrを旋喘してプロジェクトを恬るとこのようなクラスが恬撹されます。 runメソッドの及1哈方に@Configurationが原嚥されたconfigurationクラスを局します。 これは、DIコンテナを伏撹するHに聞喘するクラスです。
これは、葵皆沿姻庄稼乙京看看岳粥沿沿鉛庄界温岳庄看稼のインタ`フェ`スです。ここにも葵遺看稼韓庄乙顎姻温岳庄看稼ないじゃん
これは、葵皆沿姻庄稼乙京看看岳遺看稼韓庄乙顎姻温岳庄看稼のインタ`フェ`スです。やっと需つけました,弔泙蝓△匹海に坪淫されていれば或悪です。
枠ほども峰べましたように
ちなみにこの葵皆沿姻庄稼乙京看看岳粥沿沿鉛庄界温岳庄看稼は、アプリケ`ションのエントリポイントのクラスに原嚥します。
丹遊にh苧した京艶温稼を砿尖するためのものです。
京艶温稼協吶ファイルをiz、京艶温稼を伏撹するためのものです。
壊沿姻庄稼乙.韓温界岳看姻庄艶壊に慕けば、徭強譜協の鵑箸覆襦
これが、Spring Bootで徭嘖O協が嗤燭砲覆襪泙任里おまかな送れです。瘁ほど、軟咾垢襪箸匹譴らい方のBeanが鞠hされるのかてましょう
これまでのh苧を未まえてソ`スコ`ドをてましょう。このプロジェクトもSpring Initializrを旋喘して恬撹したものです。
UseCreateFormは、嶄にさらにAddressFormを隔っています。 Formの嶄のFormのフィ`ルドの秘薦・船Д奪をしたってときにつけるアノテ`ションが@Validです。
Download