์ค๋ ์์๋ณผ ๊ฒ์ Spring-Command Object์ด๋ค.
์ปค๋งจ๋ ๊ฐ์ฒด๋ฅผ ์ค๋ช ํ๊ธฐ ์ํด์๋ Spring์ ์ฌ์ฉํ๊ธฐ ์ ์ด๋ผ๋ ๊ฐ์ ์ ํ๊ณ ๋ถํธํจ์ ๋จผ์ ์๊ฐํด๋ณด๊ณ Spring์ด ์ด ๋ถํธํจ์ ์ด๋ป๊ฒ ํด๊ฒฐํด๋๊ฐ๋ ค๊ณ ํ๋์ง์ ๋ํด์ ์์๋ณด๋๋กํ์.
๋ถํธํจ : ๊ธฐ์กด์ Http ์์ฒญ
์ฐ๋ฆฌ๊ฐ ๋ง์ฝ request๋ก 100๊ฐ์ง์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋๋ค๊ณ ๊ฐ์ ํด๋ณด์.
public String joinMember(HttpServletRequest request) {
String username = request.getParameter("username");
String password = request.getParameter("password");
String address = request.getParameter("address");
String phone = request.getParameter("phone");
String part = request.getParameter("part");
String name = request.getParameter("name");
String party =request.getParameter("party");
//... 100๊ฐ์ง๋ผ๊ณ ๊ฐ์
return "";
}
๊ทธ๋ผ ์ฐ๋ฆฌ๋ request
์ ๋ํ ๋ชจ๋ ํ๋กํผํฐ๋ฅผ ์กฐ์ฌํด์ ๋ฃ์ด์ผ ํ๋ค.
๊ทธ๋ผ 1000๊ฐ์ง์ ์์ฒญ์ด๋ฉด 1000๊ฐ์ง์ ๋ชจ๋ ํ๋กํผํฐ๋ฅผ ์ก์์ ๋ฃ์ด์ผ๋๋ค.
์ฌ๊ธฐ์ ์ปค๋งจ๋ ๊ฐ์ฒด๋ผ๋ ๊ฐ๋ ์ด ๋ฑ์ฅํ๋ค.
ํด๊ฒฐ
์ปค๋งจ๋ ๊ฐ์ฒด๋ ์ฐ๋ฆฌ๊ฐ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ๋ getter/setter ๋ฉ์๋๊ฐ ์๋ VO๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.
์ฐ๋ฆฌ๋ ๋งค๊ฐ๋ณ์๋ก ๊ฐ์ฒด๋ฅผ ๋ฐ์ ์ ์๊ฒ ๋์๊ณ ๊ฐ์ฒด์ ์์ฑ์, ํน์ getter/setter๋ฉ์๋๋ฅผ ํตํด์ ์ปจํธ๋กค๋ฌ๊ฐ ObjectMapper๋ฅผ ํตํด ๋ฐ์ธ๋ฉ์ ์ํค๊ฒ ๋๋ ๊ฒ์ด๋ค.
๊ทธ๋ผ ์ฐ๋ฆฐ ์์์ ๋ดค๋ ๋ถํธํ ์ฝ๋๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ๊ฐ๊ฒฐํ๊ฒ ๊ตฌ์ฑํ ์ ์๊ฒ ๋๋ค.
public String joinMember (User user) {
joinService.register(user.getName(), user.getPassword, user.getAddress ...);
}
์ฃผ์ํ์
์ฐ๋ฆฌ๋ ๊ฐ์ฒด๋ผ๋ ๊ฒ์ ์ฝ๋๋ฅผ ๋ณด๊ณ ๋ฑ ์ ์ ์์ง๋ง, Spring์ ์ฐ๋ฆฌ์ฒ๋ผ ์ง๊ด์ ์ธ ์๊ฐ์ด ๋ถ๊ฐ๋ฅํ๋ค.
๋ฐ๋ผ์ CommandObject
๋ Bindingํ๋ ค๋ ๊ฐ์ฒด์ property name๊ณผ ๋์ผํด์ผ ์๋ก ๋ฐ์ธ๋ฉ์ ํ ์ ์๊ฒ ๋๋ค.
๋๊ธ