์ค๋ ์์๋ณผ ๊ฒ์ 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๊ณผ ๋์ผํด์ผ ์๋ก ๋ฐ์ธ๋ฉ์ ํ ์ ์๊ฒ ๋๋ค.
๋๊ธ