kanjava20170326

0f27061b9503c11f119ef338ed5be479?s=47 syukai
March 26, 2017

 kanjava20170326

.NETでの開発が中心だったけど 本格的にJava始めてみた

0f27061b9503c11f119ef338ed5be479?s=128

syukai

March 26, 2017
Tweet

Transcript

  1. /&5Ͱͷ։ൃ͕த৺͚ͩͬͨͲ ຊ֨తʹ+BWB࢝ΊͯΈͨ  !TZVLBJ

  2. ࠓ೔ͷ࿩ w 4QSJOH#PPUʹࢸΔ·Ͱͷ࿩ w 4QSJOHͱ4QSJOH#PPU w ࢖͍࢝Ίͯࠔͬͨ͜ͱ

  3. ࣗݾ঺հ w !TZVLBJ࢛ق༇շ w ϓϩάϥϚࡀʢେֶ೥ͰϓϩάϥϜ࢝ΊͨͷͰʣ w େࡕͷதখن໛4*FSͰओʹ8FC։ൃʹؔΘΔ࢓ࣄʹैࣄ
 ʢؔΘΔۀ຿ʹاըɺཁ݅ఆٛɺઃܭɺ։ൃʜʣ w ࠷ॳͷݴޠ͸$

    w +BWBྺ͸೥ʁ೥ʁ೥ʁ w େࡕੜ·Εେࡕҭ͕ͪͩͨ·ʹؔ੢ห͕ෆࣗવ
  4. +BWBҎલ w 7#ɺ7#/&5ɺ$ͰͷΫϥΠΞϯταʔόʔܕ ͷۀ຿γεςϜ w ΫϥγοΫ"41ͷ7#TDSJQU࢓ཱͯ w "41/&5

  5. ຊ֨త͡Όͳ͍+BWBظ w 4FBTBSɺTUSVUTϕʔε'8Ͱͷ։ൃ w վ଄΍ΧελϚΠζ
 ए͘͠͸؀ڥ͸࡞ͬͯ΋Βͬͯͨɻ w جຊతͳจ๏΍8FCͷ࢓૊Έ͑͞Θ͔ͬͯΕ͹
 ੜ͖͍͚ͯͨ w

    ݴޠػೳ͸ׂΓͱ$ͱࣅͯΔ
 ૯শܕɺ-JO2ɾTUSFBNɺಗ໊Ϋϥεɾϝιουɺ
 ܕਪ࿦ɺϥϜμࣜɾɾɾ
  6. ຊ֨త+BWBظ w TUSVUTͷ։ൃऴྃͳͲͰख࣋ͪͷ'8͕ແ͍ɻ w ·ͣ'8બͿͱ͜Ζ͔Β࢝ΊΔ͜ͱʹɻ

  7. นͦͷ̍ '8બͿ͜ͱͳΜͯͳ͔ͬͨɻ

  8. w 7JTVBM4UVEJP༷ʹԿΛ͍͔ͨ͠ਃࠂ͢Ε͹ͦΕͰ Α͔ͬͨɻ
 8JOEPXTΞϓϦ ⇛ɹ8JOEPXT'PSN
 8FCΞϓϦ    ⇛ɹ8FC'PSN

    w ͍͍ͤͥாථɺάϦουɺ%#ؔ࿈ΛબͿ͘Β͍ w 81'ͱ͔.7$ͱ͔΋͋Δ͚Ͳɺ໨త΋ੑ֨΋͸ͬ ͖Γҧ͏ͷͰ೰Ή͜ͱ͸΄΅ͳ͍
  9. ηΩϡϦςΟϑ ϨʔϜϫʔΫ .7$ϑϨʔϜϫʔΫ %*ίϯςφϑϨʔϜϫʔΫ นͦͷ̎ w ΋͏ϑϨʔϜϫʔΫͬͯݴ༿͕Կͳͷ͔Θ͔Βͳ͍ 03.ϑϨʔϜϫʔΫ +%#$ϑϨʔϜϫʔΫ

  10. /&5ͰʮϑϨʔϜϫʔΫʯͱ͍͑͹
 ͍Θͣͱ͠Εͨ
 /&5'SBNFXPSL
 
 ⇛ڞ௨ϥΠϒϥϦɺ࣮ߦ؀ڥɺ࣮૷ํࣜͳͲ
 ɹશͯΛ࢘Δ

  11. Ұਆڭͷੈք͔Βଟਆڭͷੈք΁

  12. '8બͿʹ͋ͨͬͯؾʹͳΔ͜ͱ w ࢖͍΍͢͞ w ཁ݅ΛຬͨͤΔ͔ w কདྷతͳ֦ுੑ͸ʁ w ʢ೔ຊޠͷʣ৘ใ͸Ͳͷఔ౓खʹೖΔ͔ʁ w

    ֶशίετ w ̑೥ޙ΋࢖͑Δ'8͔ʁ
  13. ೥຤ࠒͷओͳબ୒ࢶ w +BWB&& w 4QSJOH#PPU w 1MBZ'SBNFXPSL
 w ࢀߟ
 !*5ͭͷϑϨʔϜϫʔΫͰֶͿΤϯλʔϓϥΠζ+BWB։ൃೖ໳


    IUUQXXXBUNBSLJUDPKQBJUBSUJDMFTOFXTIUNM
  14. +BWB&& w ʮ+BWBͷΤϯλʔϓϥΠζ޲͚ඪ४࢓༷ͰͦΕΛ࣮ ૷ͨ͠΋ͷɻ8FC'8ʹݶΒͳ͍޿ൣғΛΧόʔ͠ ͓ͯΓɺ+BWB&&ΞϓϦΛ࣮ߦ͢ΔͨΊʹ͸ (MBTT'JTI΍8JME'MZ͕ඞཁͰʯɾɾɾͬͯͪΐͬ ͱ଴ͬͯ5PNDBU͡Όͳ͍ͷʁ

  15. ύε

  16. w +BWB͸ͳͷʹ&&͸ʁͳΜͱͳ͘ҧ࿨ײ w +BWBͬͯ༥௨͕ฉ͔ͳ͍ʢݸਓͷײ૝Ͱ͢ʣ
 ͦͷඪ४࢓༷͚ͬͯͩͰ໘౗ͦ͘͞͏ʢݸਓͷײ૝Ͱ͢ʣ w 8FCαʔόʔ͕༗ྉͷ΋ͷͰͳ͍ͱ࢖͑ͳ͍ͱͳͬ ͨͱ͖ʹ༧ࢉ͕ͳ͔ͬͨɻ
 5PNDBU͕࢖͑Δͷ͕ίετ໘ɾ஌ࣝ໘Ͱ҆৺ɻ

  17. 4QSJOH w ݁ߏલ͔Β͋Δ'8͚ͩͲ࠷ۙ4QSJOH#PPUͬͯͷ ͕Ͱ͖͍͍ͯײ͡Β͍͠ɻ w +BWBͰ࠷΋੒ޭͯ͠Δ'8ͱ͍͑ΔɺΒ͍͠ɻ w ʮ࠷৽ٕज़ʹ΋ૉૣ͘௥ै͓ͯ͠Γɺ͞·͟·ͳγ εςϜͰ׆༻Ͱ͖·͢ʯʢ͖ͬ͞ͷ!*5ͷهࣄʣ

  18. ྑͦ͞͏͚ͩͲ ͔͔ͤͬͩ͘Β ৽͍͠'8ͷ΄͏͕͍͍͔ʁ

  19. 1MBZ'SBNFXPSL w +BWB&&ͷඪ४ʹ४ڌ͍ͯ͠ͳ͍ɻ w 8FCʹಛԽͨ͠ಠࣗͷ"1*ͱ։ൃ؀ڥ w ൺֱతߏ੒͕γϯϓϧ w 3BJMTͳͲͷಛ௕ΛऔΓೖΕͯ։ൃޮ཰ͱੜ࢈ੑΛ ߴΊ͍ͯΔ

  20. ͳΜ͔໘നͦ͏ͳͷͰͦΕͰ

  21. ৘ใऩू w ެࣜͷಈըΈͨΓ w ຊړͬͨΓʢδϡϯΫಊ͋Γ͕ͱ͏ʣ w ૉৼΓͨ͠Γ w άάͬͨΓ w

    άάͬͨΓ w άάΓ·ͬͨ͘Γɾɾɾ
  22. w ࠷ऴతʹ͸1MBZ'SBNFXPSLͷϢʔβʔձͰ૬ஊ
 
 ˠ݁Ռతʹ4QSJOHΛקΊΒΕΔ

  23. Α͠ɺ4QSJOH#PPUɺ܅ʹܾΊͨʂ ࠷ॳ͔ΒͦΕ͕͍͍ͱࢥͬͯͨΑʂ

  24. ݁ہͲ͏΍ܾͬͯΊΔͷ͔ w ༗ࣝऀʹฉ͚ΔͳΒӽͨ͜͠ͱ͸ͳ͍ w ͕࣌ؒ५୔ʹ͋ΔͳΒ͋Δఔ౓ௐ΂࣮ͯࡍʹ৮Δ
 Ϡόͦ͏ͳͱ͜·Ͱ࣮૷Ͱ͖Ε͹٢

  25. w Ͱ͖Δֶ͚ͩशίετ͕௿͘ͳΔΑ͏ʹ
 ʢࢲͷ৔߹͸ϛυϧ΢ΣΞ͸ආ͚ͨʣ w ௐ΂ΒΕΔݶΓ͸ௐ΂Δ w ٕज़ॻ͕๛෋Ͱ࣮ࡍʹݟΕΔຊ԰͸͋Γ͕͍ͨʂ
 ʢങ͏ͱ͖͸ͦ͏͍͏ͱ͜Ͱങ͏ʂʣ w ຊΛݟΔ࣌͸લॻ͖ɺংஈɺ໨࣍

  26. w ΞϐʔϧϙΠϯτͷ৘ใ͸खʹೖΓ΍͍͢ w ࠔͬͨɺ͏·͍͔͘ͳ͍৘ใ͸ͳ͔ͳ͔ແ͍
 ʮ͜͏͍͏έʔε͸΍Ίͱ͍ͨํ͕͍͍Αʯ w ༗ࣝऀ͕͍ͳ͍ͳΒ͍Δͱ͜Ζʹߦ͚͹͍͍ʂ
 ɹษڧձʹࢀՃʂ
 ɹίϛϡχςΟʹࢀՃʂ
 ɹ4/4Ͱ΋ɾɾɾʁ

  27. '8બͿʹ͋ͨͬͯؾʹͳΔ͜ͱ w ࢖͍΍͢͞ w ཁ݅ΛຬͨͤΔ͔ w কདྷతͳ֦ுੑ͸ʁ w ʢ೔ຊޠͷʣ৘ใ͸Ͳͷఔ౓खʹೖΔ͔ʁ w

    ֶशίετ w ̑೥ޙ΋࢖͑Δ'8͔ʁ
  28. ਖ਼௚Θ͔Βͳ͍ w Ͱ΋ɺࣗ෼͕ؔΘ͍ͬͯ͘͜ͱ͸Ͱ͖Δɻ w ϓϧϦΫ্͛Δ w ৘ใൃ৴ʢษڧձɺ2JJUBɺ5XJUUFSʣ
 ࢖ͬͯΔਓ͕ଟ͍ͱ࢖ΘΕΔɺϝϯς͞ΕΔ w ษڧձʹࢀՃ͢Δ


    ੝Γ্͕Γʹߩݙ
  29. ͓·͚ w (PPHMFτϨϯυͰݕࡧͯ͠Έͨ

  30. 4QSJOHͱ
 4QSJOH#PPU

  31. 4QSJOHͬͯԿʁ w ਖ਼௚౴͑ΒΕͳ͍ɾɾɾ

  32. ๛෋ͳ4QSJOH1SPKFDU

  33. ͍͟࢖͏ͱͳΔͱ৭ʑେม

  34. 4QSJOH#PPU w 4QSJOH#PPUࣗମ͸ػೳΛఏڙ͠ͳ͍ w ͬ͘͟Γ͍͏ͱ4QSJOHΛ࢖͍΍͘͢͢Δ΋ͷ w ॳظઃఆͷࣗಈԽʢӅṭʣ
 ʢ4QSJOH.7$ɺ5PNDBUɺ#FBOఆٛʣ w ґଘϥΠϒϥϦΛ·ͱΊͯ͘Ε͍ͯΔ

    w ௒ָνϯʂ
  35. 4QSJOH*OJUJBMJ[S w ࢖͍͍ͨ΋ͷΛબ΂͹QPNYNMΛ࡞ͬͯ͘ΕΔ
 ⇛ޙ͸.BWFO͕KBSϑΝΠϧΛऩूͯ͘͠ΕΔ w ΍Γ͍ͨ͜ͱͰ੔ཧ͞ΕͯΔͷͰ୳͠΍͍͢ w .BWFOॳΊͯͰ΋ࣗવͱ࢖͑Δ w ௒ָνϯʂ

  36. 454 4QSJOH5PPM4VJUF w &DMJQTFϕʔεͷ*%& w ࢖͍উख͸&DMJQTFͦͷ΋ͷ w 1MFJBEFTͰ೔ຊޠԽՄೳ w 4QSJOH*OJUJBMJ[S΍.BWFO͕૊Έࠐ·ΕͯΔ

    w ௒ָνϯʂ
  37. Ұ௨ΓἧͬͯΔ΋ͷ͕͙͢༻ҙͰ͖Δ w શ͕ͯ࠷దͰ͸ͳ͍͔΋͠Εͳ͍͚Ͳɺ
 ׬੒ंͷঢ়ଶΛ༻ҙͯ͠΋Β͑Δɻ
 ⇛ޙ͔ΒؾʹͳΔ෦඼͚ͩऔΓସ͑Ε͹͍͍ w θϩ͔Β࠷దͳ෦඼Λ̍ͭͣͭબΜͰ͍͘
 ⇛૊Έ߹Θͤͯ͏·͘ಈ͔͘Θ͔Βͳ͍
 ෦඼͕଍ΓͯΔ͔΋Θ͔Βͳ͍ w

    ͙͢ʹίʔυΛॻ͖࢝ΊΒΕΔ
  38. 4QSJOH.7$ w 4QSJOHͷ8FCϑϨʔϜϫʔΫ w $POUSPMMFS΋.PEFM΋10+0Ͱ࣮૷Ͱ͖Δ w 8FCը໘΋"1*΋ΠέΔ

  39. .7$ͷ$POUSPMMFS @Controller @RequestMapping("thyme") public class SampleController { @RequestMapping("demo") public String

    index(Model model){ model.addAttribute("livetext", "͞Μ΀Δ͜ʙͲ"); // classpath:/templates/ + <String> + .html return "tdemo"; } }
  40. 5IZNFMFBG w ςϯϓϨʔτΤϯδϯ 4QSJOH͡Όͳͯ͘΋࢖͑Δ  w φνϡϥϧςϯϓϨʔτͳͷͰͦͷ··)5.-ͱͯ͠ݟΕΔ w +41ͱ͸ͳΜͩͬͨͷ͔ w

    ֮͑Δ͜ͱ͕ͱͯ΋গͳ͍ w UIUFYU͠ͱ͚͹αχλΠζ͞ΕΔ 944ରࡦ  w +BWBͷϩδοΫ͕ೖΓࠐΉ༨஍͕ͳ͍
  41. 5IZNFMFBGͷIUNM <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <body> <label th:text="${livetext}">livetext</label> </body> </html>

  42. .7$ͷ3FTU$POUSPMMFS @RestController @RequestMapping("rest") public class SampleRestConotroller { @RequestMapping("demo") public String

    index(){ return "Rest Demo Complete!"; } }
  43. 4QSJOH4FDVSJUZ w ηΩϡϦςΟपΓͷॾʑ w ϩάΠϯॲཧɺνΣοΫͳΜ͔͸͓·͔ͤ w P"VUI͍͚ͩͬͯͪΌ͏ w $43'ରࡦ΋͹ͬͪΓ w

    ͱͬͯ΋ଟػೳ
  44. 4QSJOH4FTTJPO w ηογϣϯ৘ใΛ֎෦ʹ࣋ͨͤΔ w ̎୆Ҏ্ͷ"1αʔόΛಉظͤ͞Δͷʹ࢖͏ w 4QSJOH%BUB3FEJTͱ߹Θͤͯ࢖͑͹"84Ͱͷ֎ ෦ΩϟογϡԽ &MBTUJ$BDIF ΋ָউ

  45. w ͸͡Ίͯͷ4QSJOH#PPUಡΊ͹
 ͱΓ͋͑ͣͳΜͱ͔ͳΔɻ
 
 


  46. 4QSJOHͰࠔͬͨ͜ͱ

  47. ͦ΋ͦ΋4QSJOHΘ͔ͬͯͳ͍ w ίΞ͸%*ίϯςφ w %*ίϯςφ͕Կͯ͠Δͷ͔ɺ
 #FBOͬͯԿͳͷ͔͕ཧղͰ͖͔ͯΒ
 ͍ͩͿΘ͔ΔΑ͏ʹͳ͖ͬͯͨɻ w ଟా͞Μͷ
 ʮ4QSJOHGPS4QSJOH#PPUʯ


    IUUQTTQFBLFSEFDLDPNNBTBUPTIJUBEB TQSJOHGPSTQSJOHCPPU
  48. .BWFO͕Α͘Θ͔Βͳ͍ w QPNͷهड़ํ๏͸άάͬͯͳΜͱ͔͢Δ w KBSXBS΋454Ͱ಺ଂ.BWFO࢖͑͹࡞ΕΔ͕
 ʮΰʔϧʯͷҙຯ͕Θ͔ΒΜ͔ͬͨ
 ⇛ʮDMFBOQBDLBHFʯͱ͔ॻ͚͹0, w .BWFO$FOUSBMҎ֎ͷಠࣗϦϙδτϦΛ࡞ͬͯΞ Ϋηε͢Δ͜ͱ΋Մೳ

  49. ઃఆͷॻ͖ํͷҧ͍ w 4QSJOH#PPUͩͱ$POpHΫϥεʹίʔυॻ͘ w ΍Γ͍ͨ͜ͱΛάάͬͨΒYNMͷهड़ํ๏͔͠ग़ͯ ͜ͳ͔ͬͨΓ
 ⇛ؤுͬͯ׳ΕΔɻ
 ɹࠓͩͱ#PPUͷهࣄ΋͔ͳΓଟ͍͚Ͳɻ

  50. นͦͷ̏ ެࣜυΩϡϝϯτ

  51. w ͳΜ͔ͩΜͩͰϚΠΫϩιϑτ੡඼͸
 ೔ຊޠυΩϡϝϯτ͕༻ҙ͞ΕΔɻ w *%&͔ΒυΩϡϝϯτ΁ͷಋઢ͕͹ͬͪΓ
 ʢ'ԡͤ͹͙͢υΩϡϝϯτʣ w ׂΓͱຬͨ͞ΕͯΔͷͰίϛϡχςΟ׆ಈ͸ൺֱత׆ൃ Ͱͳ͍͔΋ʁ w

    ͔࣍Β࣍ʹ৽͍͠΋ͷ͕ग़ͯ͘Δͱ͍͏ΑΓ͸ఆظత ʹ·ͱΊͯ࡮৽͞ΕΔʢͯͨʣ
 ͦͷλΠϛϯάͰ৘ใ͕υόͬͱग़Δ
  52. นͦͷ̐ ೔ຊޠʢͱ͍͏͔ϚϧνόΠτจࣈʣͷน

  53. w /&5ͱͦͷपล੡඼ʹൺ΂ͯʮ೔ຊޠͩͱ͏·͘ ͍͔ͳ͍ʢۤ࿑͢Δʣʯ཰͕ߴ͍ʢͱࢥ͏ʣ w ʢ4QSJOHʹݶΒͳ͍͕ʣ

  54. γϯάϧαΠϯΦϯ 440 w -JOVY্ͷ8FCΞϓϦʹ8JOEPXTΫϥΠΞϯτ͔ ΒΞΫηε w ࣾ಺ͷ"DUJWF%JSFDUPSZೝূࡁΈͳΒϩάΠϯෆཁ

  55. w ਖ਼௚Ұ൪ਏ͔ͬͨͷ͸؀ڥपΓʢಛʹ-JOVYʣ w 440༻63-Λ4QSJOH4FDVSJUZͷྫ֎ʹɻ w 440༻63-Ͱ3FNPUF6TFSΛݕূɻ
 0,ͳΒ4QSJOH4FDVSJUZͷೝূΛखಈͰ࣮ߦɻ
 /(ͳΒϩάΠϯը໘ʹϦμΠϨΫτɻ ϝχϡʔɾۀ຿ը໘ ࣗಈೝূ༻63-

    ϩάΠϯը໘
  56. .VMUJ%BUBTPVSDF w ϢʔβʔʹΑͬͯܨ͙σʔλϕʔεΛม͑Δ w σʔλιʔε͍ͬͺ͍༻ҙͯ͠ w "CTUSBDU3PVUJOH%BUB4PVSDFͰ؅ཧͯ͠ w ηογϣϯม਺ͱ͔ʹܨ͗ઌ৘ใ࣋ͨͤͯ w

    *OUFSDFQUPSͱ͔'JMUFS "01 ͱ͔Ͱ੾Γସ͑Δ
  57. w 2JJUBʹهࣄॻ͍ͨͷͰৄࡉ͸ͪ͜ΒͰɻ
 IUUQRJJUBDPNTZVLBJJUFNT ECGGGFGDEE w 4QSJOH$MPVE$POpHʹ͍ͨ͠ͳ͋ɻɻɻ

  58. 4QSJOHʹͯ͠Α͔ͬͨ͜ͱ

  59. w .BWFO࢖͑ΔΑ͏ʹͳͬͨʢڧ੍తʹʣ w 5IZNFMFBG͕͍͍ʂ w ػೳ͕ଟ͍͠ջਂ͍ͷͰ͍͍ͩͨͳΜͱ͔ͳΔ w ઃఆϑΝΠϧ͕গͳ͘ιʔε͔Β৘ใ͕ಡΈऔΕΔ w ϝϯόʔͷ؀ڥͮ͘Γָ͕νϯʂ


    ʮKBSϑΝΠϧͲ͜ʔʯʮKBSͷόʔδϣϯ͕ʔʯ
 ʮϏϧυύε͕ʔʯͱ͔ແ͍ʂ
 ⇛+%,ͱ454ͱ(JU͘Β͍ɻ w ઃఆϑΝΠϧյ͠߹͏͜ͱ͕ແ͍
  60. ·ͱΊ w /&5ͳਓ͸ҟจԽཧղ͔Βɻ w ݁ՌతʹબΜͰͱͯ΋Α͔ͬͨʂʢখฒײʣ w ʮͱΓ͋͑ͣ͸͡ΊΔʯͷ͸͍͍͚Ͳɺ4QSJOHͷ جૅ΋ͪΌΜͱ֮͑Α͏ɻ w ޷͖ͳϑϨʔϜϫʔΫʹʮࢀՃ͢Δʯ

  61. ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ