{"id":391,"date":"2022-10-07T17:33:52","date_gmt":"2022-10-07T08:33:52","guid":{"rendered":"http:\/\/walab.handong.edu\/?p=391"},"modified":"2022-10-07T17:33:53","modified_gmt":"2022-10-07T08:33:53","slug":"spring-mybatis-dataaccessresourcefailureexception","status":"publish","type":"post","link":"http:\/\/walab.handong.edu\/?p=391","title":{"rendered":"Spring &#038; MyBatis &#8211; DataAccessResourceFailureException"},"content":{"rendered":"\n<p>\uae30\uc874\uc5d0 \uc9c4\ud589\ud558\uace0 \uc788\ub358 \ud504\ub85c\uc81d\ud2b8\uac00 \ub9c9\ubc14\uc9c0 \ub9c8\ubb34\ub9ac \ub2e8\uacc4\uac00 \ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ud574\ub2f9 \ud504\ub85c\uc81d\ud2b8\ub294 \ubc31\uc5d4\ub4dc\ub294 Spring, MyBatis, MariaDB\ub85c \uad6c\uc131\ub418\uc5b4 \uc774\ub97c REST API \ud615\ud0dc\ub85c \uc81c\uacf5\ud558\uace0, React \uae30\ubc18\uc73c\ub85c \ud504\ub860\ud2b8\uc5d4\ub4dc\uac00 \uad6c\ucd95\ub418\uc5b4 \uc788\ub294 Server-Client \uad6c\uc870\uc758 \uc2dc\uc2a4\ud15c\uc774\uc5c8\uc2b5\ub2c8\ub2e4.&nbsp;<\/p>\n\n\n\n<p>\ud558\uc9c0\ub9cc \uc5b4\ub290 \ub0a0 \uc800\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \uc5f0\ub77d\uc744 \ubc1b\uac8c \ub429\ub2c8\ub2e4 (\uc800\ub97c \ub77c\uc774\uc5b8\uc73c\ub85c \uce6d\ud588\uc2b5\ub2c8\ub2e4).<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p>\ud14c\uc2a4\ud130 : \ub77c\uc774\uc5b8, \uc9c0\uae08 \uc6f9\uc774 \uc81c\ub300\ub85c \ub3d9\uc791\ud558\uc9c0 \uc54a\ub124\uc694. API\uac00 \ud638\ucd9c\uc774 \uc81c\ub300\ub85c \uc548\ub418\ub294 \uac83 \uac19\uc544\uc694.<\/p><\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote\"><p>\ub77c\uc774\uc5b8 : \ub124? \uc9c0\uae08 \uc11c\ubc84\ub294 \uc798 \ub3cc\uc544\uac00\uace0 \uc788\ub294\ub370\uc694. \ub2e4\uc2dc\ud55c \ubc88 \ud655\uc778\ud574\uc8fc\uc2e4 \uc218 \uc788\uc744\uae4c\uc694?<\/p><\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote\"><p>\ud14c\uc2a4\ud130 : \uc5b4? \uc544 \uc0c8\ub85c\uace0\uce68 \ud558\ub2c8\uae4c \uc798 \ub3d9\uc791\ud558\ub124\uc694?<\/p><\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote\"><p>\ub77c\uc774\uc5b8 : \uc544 \uadf8\ub7f0\uac00\uc694? \uc77c\ub2e8 \ub3d9\uc791\ud55c\ub2e4\uace0 \ud558\uc2dc\ub2c8 \ud14c\uc2a4\ud2b8 \uc9c4\ud589\ud574\uc8fc\uc2dc\uace0, \uc6d0\uc778\uc740 \uc81c\uac00 \ud655\uc778\ud574\ubcfc\uac8c\uc694.<\/p><\/blockquote>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/blog.kakaocdn.net\/dn\/FfJWD\/btrJvlzgqVt\/0yGe9pxnf5HKLK9Tw5spkK\/img.png\" alt=\"\"\/><\/figure>\n\n\n\n<p>\uaf64 \ub2f9\ud669\uc2a4\ub7ec\uc6b4 \uc0c1\ud669\uc774\uc5c8\uc2b5\ub2c8\ub2e4. \ucf58\uc194\uc744 \ud1b5\ud574 \ud655\uc778\ud574\ubcf4\ub2c8 500 \uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud558\uace0 \uc788\uc5c8\uc2b5\ub2c8\ub2e4. \ubc31\uc5d4\ub4dc \uc2dc\uc2a4\ud15c\uc5d0 Logger\ub97c \uc5f0\ub3d9\ud574\ub450\uc9c0 \uc54a\uc740 \uc0c1\ud669\uc774\uc11c \uc815\ud655\ud788 \ud574\ub2f9 \uc2dc\uc810\uc5d0 \uc5b4\ub5a4 \uc774\uc720\ub85c 500 \uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud55c \uac83\uc778\uc9c0 \uc6d0\uc778\uc744 \ud655\uc778\ud560 \ubc29\ubc95\uc774 \uc5c6\uc5b4 \uc870\uae08 \ub9c9\ub9c9\ud55c \uc0c1\ud669\uc774\uc5c8\uc2b5\ub2c8\ub2e4 (\ud558\uc9c0\ub9cc \uacb0\uacfc\uc801\uc73c\ub85c \uc774 \uc0dd\uac01\uc5d0 \uc5bd\ub9e4\uc5ec\uc11c \uc624\ub958 \uc6d0\uc778\uc744 \ubcfc \uc218 \uc788\ub294 \ub2e4\ub978 \ubc29\ubc95\uc744 \uc0dd\uac01\ud574\ubcf4\uc9c0 \uc54a\uc544 \ubb38\uc81c \ud574\uacb0\uc5d0 \ub9ce\uc740 \uc2dc\uac04\uc744 \ud5c8\ube44\ud558\uac8c \ub429\ub2c8\ub2e4). \uc9c0\uae08\uae4c\uc9c0 \ud504\ub85c\uc81d\ud2b8\ub97c \uc9c4\ud589\ud558\uba74\uc11c 500 \uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud55c \uac70\uc758 \ub300\ubd80\ubd84\uc758 \uc774\uc720\ub294 \uac70\uc758 \ub2e4\uc74c \uc138\uac00\uc9c0 \uc911 \ud558\ub098\uc600\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p>1. API \ud638\ucd9c \uc2dc \uba85\uc138\uc640 \ub2e4\ub974\uac8c \uc798\ubabb \ud638\ucd9c\ud568. (\uac00\uc7a5 \ud754\ud588\ub358 \ucf00\uc774\uc2a4)<br>2. \ud504\ub860\ud2b8\uc5d4\ub4dc\uc5d0\uc11c API \uba85\uc138 \uc0c1 \ud5c8\uc6a9\ub418\uc9c0 \uc54a\ub294 argument\ub97c \uc0dd\uc131\ud558\uc5ec \ud638\ucd9c\ud558\ub294 \uc608\uc678\uac00 \uc788\uc74c.<br>(ex. \ube44\ub3d9\uae30\uc801\uc73c\ub85c \ub370\uc774\ud130\ub97c \uac00\uc838\uc640 API \ud638\ucd9c\ud558\uae30 \uc804\uae4c\uc9c0 argument\uac00 \uc900\ube44\ub418\uc9c0 \ubabb\ud568)<br>3. \uc2e4\uc218\ub85c DB\uc5d0\uc11c \ud2b9\uc815 record\ub97c \uc0ad\uc81c\ud558\uc5ec Data Integrity\ub97c \uae68\ub728\ub9bc.<\/p><\/blockquote>\n\n\n\n<p>\ud558\uc9c0\ub9cc \ud574\ub2f9 \uc6f9\uc740 \uac1c\ubc1c \uacfc\uc815\uc5d0\uc11c \ucda9\ubd84\ud788 \ud14c\uc2a4\ud2b8\ub97c \uac70\ucce4\ub358 \ubd80\ubd84\uc774\uae30 \ub54c\ubb38\uc5d0 API \uc790\uccb4\ub97c \uc798\ubabb \ud638\ucd9c\ud55c \uc77c\uc740 \uc5c6\uc744 \uac83\uc774\uace0, \ud604\uc2e4\uc801\uc73c\ub85c 2\ubc88\uc774 \ubb38\uc81c\uc77c \uac83\uc774\ub77c\uace0 \ucd94\uc815\ud558\uace0 \ubb38\uc81c\ub97c \uc811\uadfc\ud558\ub824\uace0 \ud558\uc600\uc2b5\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \ucf54\ub4dc\ub97c \uc5f4\uc2ec\ud788 \uac80\ud1a0\ud574\ubd10\ub3c4 \uae30\uc874 API \uba85\uc138\uc5d0 \uc704\ubc30\ub418\ub294 argument\ub97c \uc0dd\uc131\ud560 \uc608\uc678\uac00 \ubcf4\uc774\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4. \ub354\uad70\ub2e4\ub098 \uc0c8\ub85c\uace0\uce68 \uba87 \ubc88 \ud574\uc8fc\uba74 \ub2e4\uc2dc \uc815\uc0c1\uc801\uc73c\ub85c \ub3d9\uc791\ud55c\ub2e4\ub294 \uc810\uc5d0\uc11c \uc870\uae08 \uc774\uc0c1\ud568\uc744 \ub290\uaf08\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uadf8\ub798\uc11c \uc544\ub798\uc640 \uac19\uc774 \ud604\uc7ac \ud14c\uc2a4\ud2b8 \ud558\ub294 \ud658\uacbd\uc5d0 \ub300\ud55c \uba87 \uac00\uc9c0 \ub0b4\uc6a9\ub4e4\uc744 \uc815\ub9ac\ud574\ubcf4\uac8c \ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p>1. API \uc11c\ubc84\ub97c \ub85c\uceec\uc5d0\uc11c \uc2e4\ud589\ud558\uc5ec \ud14c\uc2a4\ud2b8\ud560 \uacbd\uc6b0 \ud574\ub2f9 \uc774\uc288\uac00 \uc5c6\uc74c.<br>2. \ud604\uc7ac \ubc31\uc5d4\ub4dc\uac00 \ubc30\ud3ec\ub41c \uc11c\ubc84\ub294 \ud14c\uc2a4\ud2b8\uc6a9 \uc11c\ubc84\uc5ec\uc11c \uac1c\ubc1c\uc778\uc6d0 \uc911\uc5d0\uc11c\ub3c4 \uc77c\ubd80\ub9cc \uc0ac\uc6a9\ud568.<br><strong>3. \ud574\ub2f9 \uc774\uc288\uac00 \uac70\uc758 \uc624\uc804\uc5d0 \uccab \ud14c\uc2a4\ud2b8\ub97c \uc9c4\ud589\ud558\uba74\uc11c \ubc1c\uc0dd\ud568.<\/strong><\/p><\/blockquote>\n\n\n\n<p>\uadf8\ub9ac\uace0 \uc774 \uacfc\uc815\uc5d0\uc11c \ub2e4\uc74c\uacfc \uac19\uc740 \uc0dd\uac01\uc744 \ud568\uaed8 \ud558\uac8c \ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p>\ucf58\uc194\ub85c 500 \uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud558\ub294 \ub2f9\uc2dc \ud638\ucd9c\uc744 \uadf8\ub300\ub85c \uc5bb\uc5b4\uc640\uc11c \uc5d0\ub7ec \uc0c1\ud669\uc744 \uc7ac\ud604 \ud560 \uc218 \uc788\uc9c0 \uc54a\uc744\uae4c?<\/p><\/blockquote>\n\n\n\n<p>\uc774\ub807\uac8c \ud558\uba74 \uaf2d Logger\ub97c \ud1b5\ud55c \uae30\ub85d\uc774 \uc544\ub2c8\ub354\ub77c\ub3c4 \ud574\ub2f9 \uc5d0\ub7ec\uc758 \uc6d0\uc778\uc5d0 \ub300\ud55c \ud78c\ud2b8\ub97c \uc5bb\uc744 \uc218 \uc788\uc744 \uac83\uc774\ub77c\uace0 \uc0dd\uac01\ud558\uc600\uc2b5\ub2c8\ub2e4. \ub354\uad70\ub2e4\ub098 \uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud558\ub294 \ud574\ub2f9 API\ub294 HTTP Get Method\ub85c \ud638\ucd9c\ub418\uc5c8\uae30 \ub54c\ubb38\uc5d0 \uc7ac\ud604\ub3c4 \uac04\ub2e8\ud558\uc5ec \ub2f9\uc2dc url\ub9cc \uc5bb\uc73c\uba74 \ubc14\ub85c \uc7ac\ud604\uc774 \uac00\ub2a5\ud588\uc2b5\ub2c8\ub2e4. \uadf8\ub9ac\uace0 \uc6f9 \ube0c\ub77c\uc6b0\uc838\ub97c \ud1b5\ud574\uc11c \ub2e4\uc74c\uacfc \uac19\uc740 \uc5d0\ub7ec \ub0b4\uc6a9\uc744 \ud655\uc778\ud560 \uc218 \uc788\uac8c \ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/blog.kakaocdn.net\/dn\/bkGseb\/btrJvQscCmb\/rE5oWCA8Q97XQhPBQp4OR1\/img.png\" alt=\"\"\/><\/figure>\n\n\n\n<blockquote class=\"wp-block-quote\"><p>DataAccessResourceFailureException ?<\/p><\/blockquote>\n\n\n\n<p>\ubb38\uc81c \ud574\uacb0\uc5d0 \ub300\ud55c \ud78c\ud2b8\ub97c \uc5bb\uc744 \uc218 \uc788\ub294 \uad6c\uccb4\uc801\uc778 Exception \uba85\uc744 \uc5bb\uac8c \ub429\ub2c8\ub2e4. &#8220;DataAccessResourceFailureException&#8221;\uc774 \uad6c\uccb4\uc801\uc73c\ub85c \uc5b4\ub5a4 Exception\uc778\uc9c0 \uc54c\uc544\ubcf4\uae30 \uc704\ud574 JavaDoc\uc744 \ucc3e\uc544\ubd24\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p><a href=\"https:\/\/www.javadoc.io\/doc\/org.springframework\/spring\/2.0.4\/org\/springframework\/dao\/DataAccessResourceFailureException.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.javadoc.io\/doc\/org.springframework\/spring\/2.0.4\/org\/springframework\/dao\/DataAccessResourceFailureException.html<\/a><a href=\"https:\/\/www.javadoc.io\/doc\/org.springframework\/spring\/2.0.4\/org\/springframework\/dao\/DataAccessResourceFailureException.html\" target=\"_blank\" rel=\"noreferrer noopener\">DataAccessResourceFailureException &#8211; spring 2.0.4 javadocLatest version of org.springframework:spring https:\/\/javadoc.io\/doc\/org.springframework\/spring Current version 2.0.4 https:\/\/javadoc.io\/doc\/org.springframework\/spring\/2.0.4 package-list path (used for javadoc generation -link option) https:\/\/javadoc.io\/docwww.javadoc.io<\/a><\/p>\n\n\n\n<p>JavaDoc\uc5d0 \uba85\uc138\ub41c \ub0b4\uc6a9\uc744 \ud655\uc778\ud574\ubcf4\uba74 \uc774 Exception\uc740 &#8220;DB\uc640 Connection\uc744 \uc9c0\uc744 \uc218 \uc5c6\ub294 \uacbd\uc6b0&#8221;\uc640 \uac19\uc774 Spring\uacfc \uc5f0\uacb0\ub41c Data Source\uc640\uc758 \uc5f0\uacb0\uc5d0 \ubb38\uc81c\uac00 \ubc1c\uc0dd\ud55c \uacbd\uc6b0 \uc8fc\ub85c \ubc1c\uc0dd\ud558\uac8c \ub418\ub294 Exception \uc774\uc5c8\uc2b5\ub2c8\ub2e4. \uc989, API\ub97c \ud638\ucd9c\ud558\ub294 \uacfc\uc815 \uc790\uccb4\uc5d0\ub294 \uc544\ubb34 \ubb38\uc81c\uac00 \uc5c6\uace0 DB\uc640\uc758 Connection\uc5d0 \ubb38\uc81c\uac00 \ubc1c\uc0dd\ud588\uc744 \uac00\ub2a5\uc131\uc774 \ub192\ub2e4\uace0 \ud310\ub2e8\ud558\uac8c \ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc774\uc5d0 \ub530\ub77c \uc800\ub294 \ud55c \uac00\uc9c0 \uc0dd\uac01\uc744 \ub354\ud558\uac8c \ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p>Spring\uacfc DB Connection\uc774 \uc5b4\ub5a4 \uc774\uc720\ub85c \ub04a\uc5b4\uc9c0\uac8c \ub418\ub294 \uac74\uac00?<\/p><\/blockquote>\n\n\n\n<p>\uadf8\ub9ac\uace0 \uad6c\uae00\ub9c1\uc744 \ud1b5\ud574\uc11c \ub2e4\uc74c\uacfc \uac19\uc740 \uc815\ubcf4\ub97c \uc5bb\uac8c \ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<h4>wait_timeout \ubcc0\uc218<\/h4>\n\n\n\n<p>\uc2e4\uc81c\ub85c MySQL\uc774\ub098 MariaDB\uc5d0 &#8220;SHOW VARIABLES;&#8221; Query\ub97c \uc694\uccad\ud558\uba74 &#8220;wait_timeout&#8221; \uc774\ub77c\ub294 \ubcc0\uc218\ub97c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. MySQL\uacfc MariaDB\ub294 &#8220;DB\uc5d0 \uc5f0\uacb0\ub41c \ud074\ub77c\uc774\uc5b8\ud2b8\uac00 \uc544\ubb34\ub7f0 \uc694\uccad\uc5c6\uc774 \ud2b9\uc815\uc2dc\uac04\ub3d9\uc548 \ub300\uae30\ud560 \uacbd\uc6b0 \uac15\uc81c\ub85c Connection\uc744 \uc885\ub8cc&#8221; \ud558\ub3c4\ub85d \uc124\uc815\ub418\uc5b4 \uc788\uc73c\uba70, \uc774\ub54c \uc5bc\ub9c8\ub098 \uae30\ub2e4\ub9b4 \uac83\uc778\uc9c0\uc5d0 \ub300\ud55c \uac12\uc744 \ubcc0\uc218 &#8220;wait_timeout&#8221; \uc774\ub77c\ub294 \ubcc0\uc218\ub85c \uc720\uc9c0\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ub54c \ub530\ub85c \uc124\uc815\ud558\uc9c0 \uc54a\uc744 \uacbd\uc6b0 \uae30\ubcf8\uac12\uc73c\ub85c 28800\ucd08 (8\uc2dc\uac04)\uc73c\ub85c \uc124\uc815\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ud604\uc7ac \ud14c\uc2a4\ud2b8 \ubaa9\uc801\uc73c\ub85c \ubc30\ud3ec\ud55c \uc11c\ubc84\uac00 \uc800\ub97c \ud3ec\ud568\ud55c \ud2b9\uc815 \uc778\uc6d0\ub4e4\ub9cc \uc0ac\uc6a9\ud558\uace0 \uc788\uc5c8\ub2e4\ub294 \uc810\uc5d0\uc11c API \ud638\ucd9c\uc740 \uac1c\ubc1c \ubc0f \ud14c\uc2a4\ud2b8\ub97c \uc9c4\ud589\ud558\ub294 \uc8fc\uac04\uc2dc\uac04 \ub300 \uc678\uc5d0\ub294 API\ud638\ucd9c\uc774 \uc77c\uc5b4\ub0a0 \uc77c\uc774 \uc5c6\uace0, Spring Scheduler\uc5d0 \uc5f0\ub3d9\ub41c API\ub4e4\ub3c4 1\ub2ec\uc5d0 1\ubc88 \ub4f1\uacfc \uac19\uc774 \uae34 \uc8fc\uae30\ub85c \ub3d9\uc791\ud558\ub294 API\ub4e4\uc774\uc5b4\uc11c API \uc11c\ubc84\uc5d0 \uc5f0\uacb0\ub41c MariaDB\uc640\uc758 Connection\uc774 \ub04a\uc5b4\uc9c0\ub294 8\uc2dc\uac04 \ub3d9\uc548\uc758 \uacf5\ubc31\uc774 \uc0dd\uae30\uae30\ub294 \ucda9\ubd84\ud588\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<h3>\uadf8\ub798\uc11c, \uc5b4\ub5bb\uac8c \ud574\uacb0\ud588\ub098\uc694?<\/h3>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><strong>autoReconnection=true<\/strong><\/p><\/blockquote>\n\n\n\n<p>Database\uc640 Connection\uc744 \uc124\uc815\ud560 \ub54c autoReconnection \uc635\uc158\uc744 true\ub85c \uc124\uc815\ud558\uc5ec \ub118\uaca8\uc8fc\uba74 \ub429\ub2c8\ub2e4. \ud574\ub2f9 \uc635\uc158\uc744 \uc124\uc815\ud558\uba74, DB\uc640\uc758 Connection\uc774 \ub04a\uc5b4\uc9c0\ub354\ub77c\ub3c4 \ub2e4\uc2dc Connection\uc744 \ud615\uc131\ud574\uc90d\ub2c8\ub2e4. \uadf8\ub807\uae30 \ub54c\ubb38\uc5d0 \uc774\uc804\uc5d0 \ubc1c\uc0dd\ud558\ub358 DataAccessResourceFailureException\uc744 \uc608\ubc29\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<h2>\uc798 \ud574\uacb0\ub418\uc5c8\ub098\uc694?<\/h2>\n\n\n\n<p>\ud604\uc7ac\uae4c\uc9c0\ub294 \uc774\ub807\uac8c \uc124\uc815\uac12\uc744 \ubc14\uafb8\uace0 \uc7ac\ubc30\ud3ec\ud55c \ub4a4 \ud574\ub2f9 \uc774\uc288\ub85c \uc5f0\ub77d\uc744 \ubc1b\uace0 \uc788\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \uc790\ub8cc\ub4e4\uc744 \ucc3e\uc544\ubcf8 \uacb0\uacfc autoReconnection\uc744 true\ub85c \uc124\uc815\ud558\ub294 \uac83\ub9cc\uc73c\ub85c\ub294 \uadfc\ubcf8\uc801\uc778 \ud574\uacb0\ucc45\uc774 \ub420 \uc218 \uc5c6\ub2e4\ub294 \uc758\uacac\ub4e4\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc880 \ub354 \uadfc\ubcf8\uc801\uc778 \ud574\uacb0\uc744 \uc704\ud574\uc11c\ub294 validationQuery\ub97c \uc0ac\uc6a9\ud574\uc57c\ud55c\ub2e4\uace0 \ud558\ub294 \ub370 \uc77c\ub2e8 \ud604\uc7ac \uc801\uc6a9\ud55c \uc194\ub8e8\uc158\uc774 \uc798 \ub3d9\uc791\ud558\uace0 \uc788\uc73c\ub2c8 \ucd94\uac00\ub85c \ubb38\uc81c \ubc1c\uc0dd \uc2dc \ub2e4\uc2dc \uace0\ub824\ud574\ubcf4\uae30\ub85c \uacb0\uc815\ud558\uc600\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<h3>\uc774\ubc88 \uc774\uc288\ub97c \ud1b5\ud574 \ubc30\uc6b4 \uc810?<\/h3>\n\n\n\n<p><strong>&#8220;\ubb50\ub4e0 \uc9c0&nbsp; \uc27d\uac8c \ub2e8\uc815\uc9d3\uc9c0 \ub9d0\ub77c&#8221;<\/strong>&nbsp;\ub77c\ub294 \uac83\uc785\ub2c8\ub2e4. \uc800\ub294 \ud574\ub2f9 \uc774\uc288\ub97c \ub300\ud558\uba74\uc11c &#8220;Logger\uac00 \uc5f0\ub3d9\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc73c\ub2c8 \uc5b4\ub5a4 \uad6c\uccb4\uc801\uc73c\ub85c&nbsp; \uc5b4\ub5a4Exception\uc774 \ubc1c\uc0dd\ud55c \uac83\uc778\uc9c0 \uc54c \uc218 \uc5c6\ub2e4.&#8221; \ub77c\uace0 \uc27d\uac8c \ub2e8\uc815\uc9c0\uc5b4\ubc84\ub9ac\uace0 \ubb38\uc81c\ub97c \uc811\uadfc\ud558\ub824\uace0 \ud588\uc2b5\ub2c8\ub2e4. \ub54c\ubb38\uc5d0 \ubb38\uc81c\uac00 \ubc1c\uc0dd\ud55c API\uac00 HTTP GET method\ub85c \ub3d9\uc791\ud558\ub294 API\ub77c\ub294 \uc810, console\uc744 \ud1b5\ud574\uc11c \uc624\ub958\uac00 \ubc1c\uc0dd\ud55c API \ud638\ucd9c URL\uc744 \uc5bb\uc744 \uc218 \uc788\ub2e4\ub294 \uc810\uc5d0\uc11c \uc774\ub97c \uc7ac\ud604\ud558\uc5ec Exception \uc885\ub958\ub97c \uc5bb\uc5b4\ubcfc \uc218 \uc788\ub2e4\ub294 \uc810\uc744 \uc0dd\uac01\ud574\ubcf4\uc9c0 \uc54a\uc558\uace0, \uc774 \ub54c\ubb38\uc5d0 \ub9ce\uc740 \uc2dc\uac04\uc744 \ub0ad\ube44\ud558\uac8c \ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p><strong>&#8220;Logger \uc5f0\ub3d9\uc740 \ud544\uc218&#8221;&nbsp;<\/strong>Logger \uc5f0\ub3d9 \uc5c6\uc774\ub3c4 \ubb38\uc81c \ud574\uacb0\uc5d0 \ub300\ud55c \ud78c\ud2b8\ub97c \uc5bb\uc744 \uc218 \uc788\ub294 \ubc29\ubc95\uc740 \uc788\uc5c8\uc9c0\ub9cc \uadfc\ubcf8\uc801\uc73c\ub85c \ud14c\uc2a4\ud2b8\ub97c \ubaa9\uc801\uc73c\ub85c \ubc30\ud3ec\ud574\ub454 \uc11c\ubc84\uc5d0 Logger\uac00 \uc5f0\ub3d9\ub418\uc5b4 \uc788\uc9c0 \uc54a\ub2e4\ub294 \uc810\uc740 \uc0c1\ub2f9\ud788 \ubaa8\uc21c\uc801\uc774\uc5c8\uc2b5\ub2c8\ub2e4. \uc560\ucd08\uc5d0 Logger\ub97c \ud568\uaed8 \uc138\ud305\ud574\ub450\uc5c8\ub2e4\uba74 \uc5bc\ub9c8\ub97c \uc8fc\uae30\ub85c \ud574\ub2f9 Exception\uc774 \ubc1c\uc0dd\ud558\ub294 \uc9c0, \uc885\ub958\ub294 \ubb34\uc5c7\uc778\uc9c0 Log\ub97c \ubcf4\uace0 \uc27d\uac8c \ud310\ub2e8\ud560 \uc218 \uc788\uc5c8\uc744 \uac83 \uc785\ub2c8\ub2e4. \uc774\uc5d0 \ub530\ub77c Logger\uc758 \uc911\uc694\uc131\uc744 \ub9ce\uc774 \ub290\ub07c\uace0, \uc2dc\uc2a4\ud15c\uc5d0 Logger\ub97c \uc801\uc6a9\ud558\ub294 \ubc29\uc548\uc744 \uac80\ud1a0\ud574\ubd10\uc57c\uaca0\ub2e4\ub294 \ubc30\uc6c0\uc744 \uc5bb\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h1>Reference<\/h1>\n\n\n\n<p>\ud574\ub2f9 \uae00\uc740 \uc544\ub798\uc758 \ub9c1\ud06c \uc6d0\uc791\uc790\uc758 \ud5c8\uac00\ub97c \ubc1b\uace0 \ubcf5\uc81c\ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p><a href=\"https:\/\/juyoungit.tistory.com\/648?category=871743\">https:\/\/juyoungit.tistory.com\/648?category=871743<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uae30\uc874\uc5d0 \uc9c4\ud589\ud558\uace0 \uc788\ub358 \ud504\ub85c\uc81d\ud2b8\uac00 \ub9c9\ubc14\uc9c0 \ub9c8\ubb34\ub9ac \ub2e8\uacc4\uac00 \ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ud574\ub2f9 \ud504\ub85c\uc81d\ud2b8\ub294 \ubc31\uc5d4\ub4dc\ub294 Spring, MyBatis, MariaDB\ub85c \uad6c\uc131\ub418\uc5b4 \uc774\ub97c REST API \ud615\ud0dc\ub85c \uc81c\uacf5\ud558\uace0, React \uae30\ubc18\uc73c\ub85c \ud504\ub860\ud2b8\uc5d4\ub4dc\uac00 \uad6c\ucd95\ub418\uc5b4 \uc788\ub294 Server-Client \uad6c\uc870\uc758 \uc2dc\uc2a4\ud15c\uc774\uc5c8\uc2b5\ub2c8\ub2e4.&nbsp; \ud558\uc9c0\ub9cc \uc5b4\ub290 \ub0a0 \uc800\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \uc5f0\ub77d\uc744 \ubc1b\uac8c \ub429\ub2c8\ub2e4 (\uc800\ub97c \ub77c\uc774\uc5b8\uc73c\ub85c \uce6d\ud588\uc2b5\ub2c8\ub2e4). \ud14c\uc2a4\ud130 : \ub77c\uc774\uc5b8, \uc9c0\uae08 \uc6f9\uc774 \uc81c\ub300\ub85c \ub3d9\uc791\ud558\uc9c0 \uc54a\ub124\uc694. API\uac00 \ud638\ucd9c\uc774 \uc81c\ub300\ub85c \uc548\ub418\ub294 \uac83 \uac19\uc544\uc694. \ub77c\uc774\uc5b8 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"off","_et_pb_old_content":"","_et_gb_content_width":""},"categories":[11,5],"tags":[],"_links":{"self":[{"href":"http:\/\/walab.handong.edu\/index.php?rest_route=\/wp\/v2\/posts\/391"}],"collection":[{"href":"http:\/\/walab.handong.edu\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/walab.handong.edu\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/walab.handong.edu\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/walab.handong.edu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=391"}],"version-history":[{"count":1,"href":"http:\/\/walab.handong.edu\/index.php?rest_route=\/wp\/v2\/posts\/391\/revisions"}],"predecessor-version":[{"id":392,"href":"http:\/\/walab.handong.edu\/index.php?rest_route=\/wp\/v2\/posts\/391\/revisions\/392"}],"wp:attachment":[{"href":"http:\/\/walab.handong.edu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=391"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/walab.handong.edu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=391"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/walab.handong.edu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=391"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}