1. ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ
๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์๋ ๋ํ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ 3๊ฐ์ง๊ฐ ์๋ค.
- ์์ฑ์ ํจํด
User user = new User("์ ์ 1", "1234"); userRepository.save(user);
- ์๋ฐ๋น์ฆ ํจํด
User user = new User(); user.setUserId("์ ์ 1"); user.setUserPassword("1234"); userRepository.save(user);
- ๋น๋ ํจํด
User user = User.builder() .userId("์ ์ 1") .userPassword("1234") .build(); userRepository.save(user);
2. ๋น๋ ํจํด(Builder Pattern)์ด๋?
๋น๋ํจํด์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ ์ค ํ๋์ด๋ค.
๊ฐ์ฒด๋ฅผ ์ ์ํ๊ณ ๊ทธ ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋ ๋ณดํต ์์ฑ์๋ฅผ ํตํด ์์ฑํ๋ ๊ฒ์ ์๊ฐํ๋๋ฐ, ๋งค๊ฐ๋ณ์๊ฐ ๋ง์์ง์๋ก ๋ง์ ์กฐํฉ๊ณผ ์์ฑ์์ ์๊ฐ ๋ง์์ง๋ค๋ ๋ฑ์ ๋จ์ ์ด ์๋ค.
๊ทธ๋์ ๊ฐ์ฒด ์์ฑํ ์ ์๋ ๋น๋๋ฅผ builder() ํจ์๋ฅผ ํตํด ์ป๊ณ , ๊ฑฐ๊ธฐ์ ์ธํ ํ๊ณ ์ํ๋ ๊ฐ์ ์ธํ ํ์ฌ .builder()๋ฅผ ์๋์์ผ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค.
์ฅ์
- ์์ฑ์ ํ๋ผ๋ฏธํฐ๊ฐ ๋ง์ ๊ฒฝ์ฐ์ ๊ฐ๋ ์ฑ์ด ์ข์ง ์์๋ฐ, ๋น๋ ํจํด์ ๊ฐ ๊ฐ๋ค์ ์ด๋ฆ ํจ์๋ก ์ ํ ๋์ด ๊ฐ๊ฐ ๋ฌด์จ ๊ฐ์ ์๋ฏธํ๋์ง ํ์ ์ด ์ฝ๋ค
- ์์๊ฐ ์๊ด์๋ค
3. @Builder
๋ฐ๋ผ์ ์ด ์ด๋ ธํ ์ด์ ์ ๋น๋ํจํด์ผ๋ก ๊ฐ์ฒด๋ฅผ ์์ฑํ ์ ์๊ฒ ํด์ฃผ๋ ์ด๋ ธํ ์ด์ ์ด๋ค.
setter๊ฐ ์๊ธฐ ๋๋ฌธ์ ๊ฐ์ฒด์ ๋ถ๋ณ์ฑ์ ๋ณด์ฅํ๋ฉฐ ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ ์ ์งํ ์ ์๋ค.
๋น๋ํจํด์ ์ ์ฉํ ๊ฐ์ฒด์ @Builder ์ด๋ ธํ ์ด์ ์ ๋ฌ๋ฉด ๊ฐ์ฒด๋ฅผ ์์ฑํ ์ ์๋ค.
@Builder
public class User{
private String userPassword;
private String userId;
}
User user = User.builder()
.userId("์ ์ 1")
.userPassword("1234")
.build();
userRepository.save(user);
์ถ์ฒ
'์คํ๋ง' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์คํ๋ง] DTO๋ฅผ ์ ์ธ๊น? (0) | 2024.01.23 |
---|---|
[์คํ๋ง] ๊ณต๊ณต๋ฐ์ดํฐ SERVICE_KEY_IS_NOT_REGISTERED_ERROR ํด๊ฒฐ (0) | 2024.01.18 |
[์คํ๋ง] ์น์๋ฒ, WAS, ์๋ธ๋ฆฟ / SSR, CSR (0) | 2024.01.14 |