jiioong 2022. 10. 5. 20:10

๐Ÿ“Œ POJO 

1. ์Šคํ”„๋ง์ด ์ง€ํ–ฅํ•˜๋Š” ๋ชฉ์  ์ •์˜ ? POJO ํ”„๋กœ๊ทธ๋ž˜๋ฐ
 - ์Šคํ”„๋ง์€ POJO๊ธฐ๋ฐ˜์˜ ๊ตฌ์„ฑ, ์ž๋ฐ”์˜ ๊ฐ์ฒด์ง€ํ–ฅ์ ์ธ ํŠน์ง•์„ ์‚ด๋ ค ๋น„์ง€๋‹ˆ์Šค ๋กœ์ง์— ์ถฉ์‹คํ•œ ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•œ๋‹ค
2. POJO ๋ž€ ?
3. ์Šคํ”„๋ง์—์„œ์˜ POJO? IOC/DI, AOP, PSA
4. POJO์™€ Java Bean์˜ ์ฐจ์ด

1. POJO์˜ ์ •์˜

POJO ?

Plain Old Java Object, ๊ฐ„๋‹จํžˆ POJO๋Š” ๋ง ๊ทธ๋Œ€๋กœ ํ•ด์„์„ ํ•˜๋ฉด ์˜ค๋ž˜๋œ ๋ฐฉ์‹์˜ ๊ฐ„๋‹จํ•œ ์ž๋ฐ” ์˜ค๋ธŒ์ ํŠธ๋ผ๋Š” ๋ง๋กœ์„œ Java EE ๋“ฑ์˜ ์ค‘๋Ÿ‰ ํ”„๋ ˆ์ž„์›Œํฌ๋“ค์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด์„œ ํ•ด๋‹น ํ”„๋ ˆ์ž„์›Œํฌ์— ์ข…์†๋œ "๋ฌด๊ฑฐ์šด" ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ฒŒ ๋œ ๊ฒƒ์— ๋ฐ˜๋ฐœํ•ด์„œ ์‚ฌ์šฉ๋˜๊ฒŒ ๋œ ์šฉ์–ด์ด๋‹ค. 2000๋…„ 9์›”์— ๋งˆํ‹ด ํŒŒ์šธ๋Ÿฌ, ๋ ˆ๋ฒ ์นด ํŒŒ์Šจ, ์กฐ์‰ฌ ๋งฅํ‚จ์ง€ ๋“ฑ์ด ์‚ฌ์šฉํ•˜๊ธฐ ์‹œ์ž‘ํ•œ ์šฉ์–ด๋กœ์„œ ๋งˆํ‹ด ํŒŒ์šธ๋Ÿฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ทธ ๊ธฐ์›์„ ๋ฐํžˆ๊ณ  ์žˆ๋‹ค. 

  • ๊ฐ์ฒด ์ง€ํ–ฅ์ ์ธ ์›๋ฆฌ์— ์ถฉ์‹คํ•˜๋ฉด์„œ ํ™˜๊ฒฝ๊ณผ ๊ธฐ์ˆ ์— ์ข…์†๋˜์ง€ ์•Š๊ณ  ํ•„์š”์— ๋”ฐ๋ผ ์žฌํ™œ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ์„ค๊ณ„๋œ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๋งํ•œ๋‹ค. ๊ทธ๋Ÿฌํ•œ POJO์— ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ•ต์‹ฌ๋กœ์ง๊ณผ ๊ธฐ๋Šฅ์„ ๋‹ด์•„ ์„ค๊ณ„ํ•˜๊ณ  ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐฉ๋ฒ•์„ POJO ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.
public class MyPojo {

    private String name;
    private int age;
    
    public String getName() {
	return name;    
    }
    public String getAge() {
    	return age;    
    }
    public void setName(String name) {
    	this.name = name;    
    }
    public void setAge(int age) {
    	this.age = age;    
    }
}

 

  • EJB๋“ฑ์—์„œ ์‚ฌ์šฉ๋˜๋Š” Java Bean์ด ์•„๋‹Œ Getter์™€ Setter๋กœ ๊ตฌ์„ฑ๋œ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ํ˜•ํƒœ์˜ ์ž๋ฐ” ๊ฐ์ฒด
  • Spring์€ POJO ๋ฐฉ์‹์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์›น ํ”„๋ ˆ์ž„์›Œํฌ
EJB(Enterprise JavaBeans)๋ž€ ์ž๋ฐ” ๊ฐœ๋ฐœ์— ์žˆ์–ด ํŠธ๋žœ์žญ์…˜, ๋ณด์•ˆ ๋“ฑ ๋กœ์šฐ๋ ˆ๋ฒจ์˜ ๋กœ์ง์„ ์‹ ๊ฒฝ์“ฐ์ง€์•Š๊ณ  ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‰ฝ๊ฒŒ ๋งŒ๋“ค์–ด ์ค€ ๊ธฐ์ˆ ์ด๋‹ค. ํ•˜์ง€๋งŒ, EJB๋Š” ๊ฐ์ฒด์ง€ํ–ฅ์„ฑ์„ ๊ฐ์†Œ์‹œํ‚ค๋Š” ๋‹จ์ ์ด ์žˆ์—ˆ๋‹ค.

 


 

2. POJO์˜ ์กฐ๊ฑด

1. ํŠน์ • ๊ทœ์•ฝ์— ์ข…์†๋˜์ง€ ์•Š๋Š”๋‹ค.

 

  ์ž๋ฐ”์–ธ์–ด์™€ ๊ผญ ํ•„์š”ํ•œ API์™ธ์—๋Š” ์ข…์†๋˜์ง€ ๋ง์•„์•ผํ•œ๋‹ค. EJB2์™€ ๊ฐ™์ด ํŠน์ • ๊ทœ์•ฝ์„ ๋”ฐ๋ผ ๋งŒ๋“ค๊ฒŒ ํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ๋Œ€๋ถ€๋ถ„ ๊ทœ์•ฝ์—์„œ ์ œ์‹œํ•˜๋Š” ํŠน์ • ํด๋ž˜์Šค๋ฅผ ์ƒ์†ํ•˜๋„๋ก ์š”๊ตฌํ•œ๋‹ค. ๊ทธ๋Ÿด ๊ฒฝ์šฐ ์ž๋ฐ”์˜ ๋‹จ์ผ ์ƒ์† ์ œํ•œ ๋•Œ๋ฌธ์— ๋”์ด์ƒ ํ•ด๋‹น ํด๋ž˜์Šค์— ๊ฐ์ฒด์ง€ํ–ฅ์ ์ธ ์„ค๊ณ„ ๊ธฐ๋ฒ•์„ ์ ์šฉํ•˜๊ธฐ๊ฐ€ ์–ด๋ ค์›Œ์ง€๋Š” ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค.

 

2. ํŠน์ • ํ™˜๊ฒฝ์— ์ข…์†๋˜์ง€ ์•Š๋Š”๋‹ค.

 

  ํŠน์ • ๊ธฐ์—…์˜ ํ”„๋ ˆ์ž„์›Œํฌ๋‚˜ ์„œ๋ฒ„์—์„œ๋งŒ ๋™์ž‘๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ๋ผ๋ฉด POJO๋ผ ํ•  ์ˆ˜ ์—†๋‹ค. POJO๋Š” ํ™˜๊ฒฝ์— ๋…๋ฆฝ์ ์ด์—ฌ์•ผํ•œ๋‹ค. ํŠนํžˆ ๋น„์ง€๋‹ˆ์Šค ๋กœ์ง์„ ๋‹ด๊ณ  ์žˆ๋Š” POJO ํด๋ž˜์Šค๋Š” ์›น์ด๋ผ๋Š” ํ™˜๊ฒฝ ์ •๋ณด๋‚˜ ์›น ๊ธฐ์ˆ ์„ ๋‹ด๊ณ  ์žˆ๋Š” ํด๋ž˜์Šค๋‚˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•ด์„œ๋Š” ์•ˆ๋œ๋‹ค. ์„ค๋ น ๋‚˜์ค‘์—๋Š” ์›น ์ปจํŠธ๋กค๋Ÿฌ์™€ ์—ฐ๊ฒฐ๋˜์„œ ์‚ฌ์šฉ๋  ๊ฒƒ์ด ๋ถ„๋ช…ํ•˜๋”๋ผ๋„ ์ง์ ‘์ ์œผ๋กœ ์›น์ด๋ผ๋Š” ํ™˜๊ฒฝ์œผ๋กœ ์ œํ•œํ•ด๋ฒ„๋ฆฌ๋Š” ์˜ค๋ธŒ์ ํŠธ๋‚˜ API์— ์˜์กดํ•ด์„œ๋Š” ์•ˆ๋œ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ๋˜๋ฉด ์›น ์™ธ์˜ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

  ๊ธฐ์ˆ ์ ์ธ ๋‚ด์šฉ์„ ๋‹ด์€ ์›น ์ •๋ณด๊ฐ€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๊ณผ ์–ฝํ˜€์žˆ์œผ๋‹ˆ ์ดํ•ดํ•˜๊ธฐ๋„ ์–ด๋ ต๋‹ค. ๋•Œ๋ฌธ์— ๋น„์ง€๋‹ˆ์Šค ๋กœ์ง์„ ๋‹ด์€ ์ฝ”๋“œ์— HTTPServletRequest, HttpSession, ์บ์‹œ์— ๊ด€๋ จ๋œ API๊ฐ€ ๋“ฑ์žฅํ•œ๋‹ค๋ฉด ์ง„์ •ํ•œ POJO๋ผ๊ณ  ํ•  ์ˆ˜ ์—†๋‹ค.

 

3. ๊ฐ์ฒด ์ง€ํ–ฅ์  ์›๋ฆฌ์— ์ถฉ์‹คํ•ด์•ผํ•œ๋‹ค.

 

  POJO๋Š” ๊ฐ์ฒด์ง€ํ–ฅ์ ์ธ ์ž๋ฐ”์–ธ์–ด์˜ ๊ธฐ๋ณธ์— ์ถฉ์‹คํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ ธ์•ผํ•œ๋‹ค. ์ž๋ฐ” ์–ธ์–ด ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ–ˆ๋‹ค๊ณ ํ•ด์„œ ์ž๋™์ ์œผ๋กœ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„๊ฐ€ ์ ์šฉ๋ฌ๋‹ค๊ณ  ๋ณผ ์ˆ˜๋Š” ์—†๋‹ค. ์ฑ…์ž„๊ณผ ์—ญํ• ์ด ๊ฐ๊ธฐ ๋‹ค๋ฅธ ์ฝ”๋“œ๋ฅผ ํ•œ ํด๋ž˜์Šค์— ๋ชฐ์•„๋„ฃ์–ด ๋ฉ์น˜ ํฐ ๋งŒ๋Šฅ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ์ƒ์†๊ณผ ๋‹คํ˜•์„ฑ์˜ ์ ์šฉ์ด ์•„๋‹Œ if/switch๋ฌธ์œผ๋กœ ๊ฐ€๋“ ์„ค๊ณ„๋œ ์˜ค๋ธŒ์ ํŠธ๋ผ๋ฉด POJO๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ ํž˜๋“ค๋‹ค.

 

// ๋ฏธ๋ฆฌ ์ง€์ •๋œ ํด๋ž˜์Šค๋ฅผ extends ํ•˜์ง€ ์•Š๊ธฐ 

public class Foo extends javax.servlet.http.HttpServlet { ... }

// ๋ฏธ๋ฆฌ ์ •์˜๋œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ implement ํ•˜์ง€ ์•Š๊ธฐ
public class Bar implements javax.ejb.EntityBean { ... }

// ๋ฏธ๋ฆฌ ์ •์˜๋œ ์–ด๋…ธํ…Œ์ด์…˜ ํฌํ•จํ•˜์ง€ ์•Š๊ธฐ
@javax.persistence.Entity public class Baz { ... }

 


3. POJO์˜ ์žฅ์  

  • ๊น”๋”ํ•œ ์ฝ”๋“œ
  • ๊ฐ„ํŽธํ•œ ํ…Œ์ŠคํŠธ
  • ๊ฐ์ฒด์ง€ํ–ฅ์ ์ธ ์„ค๊ณ„๋ฅผ ์ž์œ ๋กญ๊ฒŒ ์ ์šฉ
// POJO ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ์˜ˆ์ œ
// JMS ๋ผ๋Š” ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ MessageListener ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์†๋ฐ›์Œ 

public class ExampleListener implements MessageListener {

  public void onMessage(Message message) {
    if (message instanceof TextMessage) {
      try {
        System.out.println(((TextMessage) message).getText());
      }
      catch (JMSException ex) {
        throw new RuntimeException(ex);
      }
    }
    else {
      throw new IllegalArgumentException("Message must be of type TextMessage");
    }
  }

}
// POJO๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘์„ฑํ•œ ์˜ˆ์ œ
// ์ƒ์†๋ฐ›์ง€ ์•Š๊ณ  ์–ด๋…ธํ…Œ์ด์…˜์„ ํ†ตํ•ด ๊ฐ์ฒด๋ฅผ ์ฃผ์ž…๋ฐ›์Œ

@Component
public class ExampleListener {

  @JmsListener(destination = "myDestination")
  public void processOrder(String message) {
    System.out.println(message);
  }
}

4. POJO ํ”„๋ ˆ์ž„์›Œํฌ

  • POJO ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ธฐ์ˆ ์ ์ธ ๊ธฐ๋ฐ˜์„ ์ œ๊ณตํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ
  • ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ์™€ ํ•˜์ด๋ฒ„๋„ค์ดํŠธ๋Š” ๋Œ€ํ‘œ์ ์ธ POJO ํ”„๋ ˆ์ž„์›Œํฌ
  •  ์Šคํ”„๋ง์„ ์ด์šฉํ•˜๋ฉด POJO ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์žฅ์ ์„ ๊ทธ๋Œ€๋กœ ์‚ด๋ ค์„œ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ•ต์‹ฌ๋กœ์ง์„ ๊ฐ์ฒด์ง€ํ–ฅ์ ์ธ POJO๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊น”๋”ํ•˜๊ฒŒ ๊ตฌํ˜„ํ•˜๊ณ , ๋™์‹œ์— ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ํ™˜๊ฒฝ์˜ ๊ฐ์ข… ์„œ๋น„์Šค์™€ ๊ธฐ์ˆ ์ ์ธ ํ•„์š”๋ฅผ POJO๋ฐฉ์‹์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ์ฝ”๋“œ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

5. POJO : ์Šคํ”„๋ง์˜ ํ•ต์‹ฌ

  •   ์Šคํ”„๋ง ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ POJO๋ฅผ ์ด์šฉํ•ด์„œ ๋งŒ๋“  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ์—ฌ์„œ POJO๊ฐ€ ์–ด๋–ป๊ฒŒ ๊ด€๊ณ„๋ฅผ ๋งบ๊ณ  ๋™์ž‘ํ•˜๋Š”์ง€๋ฅผ ์ •์˜ํ•ด๋†“์€ ์„ค๊ณ„ ์ •๋ณด๋กœ ๊ตฌ๋ถ„
  • ์ผ๋ฐ˜์ ์ธ J2EE ํ”„๋ ˆ์ž„์›Œํฌ์— ๋น„ํ•ด ํŠน์ •ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„, ์ƒ์† ๋ฐ›์„ ํ•„์š”๊ฐ€ ์—†์–ด ๊ธฐ์กด์— ์กด์žฌํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋“ฑ์„ ์ง€์›ํ•˜๊ธฐ์— ์šฉ์ดํ•˜๊ณ  ๊ฐ์ฒด๊ฐ€ ๊ฐ€๋ณ๋‹ค.
  •   ์Šคํ”„๋ง์˜ ์ฃผ์š”๊ธฐ์ˆ ์ธ IoC/DI, AOP, PSA๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ POJO ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์†์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค. DI๋Š” ์œ ์—ฐํ•˜๊ฒŒ ํ™•์žฅ๊ฐ€๋Šฅํ•œ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๋งŒ๋“ค์–ด๋‘๊ณ  ๊ทธ ๊ด€๊ณ„๋Š” ์™ธ๋ถ€์—์„œ ๋‹ค์ด๋‚ด๋ฏนํ•˜๊ฒŒ ์„ค์ •ํ•ด์ค€๋‹ค. ์ด๋Ÿฐ DI์˜ ๊ฐœ๋…์„ ์Šคํ”„๋ง์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ „๋ฐ˜์— ๊ฑธ์ณ ์ ์šฉํ•œ๋‹ค. 

 


6. POJO ๊ธฐ๋ฐ˜์˜ ์ฝ”๋“œ์ธ์ง€ ํ™•์ธํ•˜๋Š” ๊ธฐ์ค€

POJO ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์•„๋ž˜์˜ ๊ธฐ์ค€์„ ์ค€์ˆ˜ํ•ด์•ผํ•œ๋‹ค.

 

  1. ๊ฐ์ฒด์ง€ํ–ฅ์ ์ธ ์„ค๊ณ„์›์น™์— ์ถฉ์‹คํ•˜๊ธฐ
  • ๋ฐ˜๋ณต์ ์ธ ํ…œํ”Œ๋ฆฟ ์ฝ”๋“œ์™€ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ํž˜๋“  ๊ตฌ์กฐ, ํ™•์žฅ ๋ฐ ์žฌํ™œ์šฉ์˜ ์–ด๋ ค์›€์ด ๋‚จ์•„์žˆ๋‹ค๋ฉด EJB์˜ ๋ฌธ์ œ์ ์„ ์—ฌ์ „ํžˆ ์•ˆ๊ณ  ์žˆ๋Š” ๊ฒƒ

 

  2. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž˜ ์ž‘์„ฑํ•˜๊ธฐ

  • ์ž˜ ๋งŒ๋“ค์–ด์ง„ POJO๋Š” ์ž๋™ํ™”๋œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์ด ํŽธ๋ฆฌ
  • ์ฝ”๋“œ ์ž‘์„ฑ์ด ํŽธ๋ฆฌํ•˜๋ฉด ์ข€ ๋” ๊ผผ๊ผผํ•˜๊ฒŒ ๋งŒ๋“ค๊ฒŒ ๋˜๊ณ , ์ฝ”๋“œ ๊ฒ€์ฆ๊ณผ ํ’ˆ์งˆ ํ–ฅ์ƒ์— ์œ ๋ฆฌํ•ด์ง‘๋‹ˆ๋‹ค.

7. POJO์™€ Java Bean์˜ ์ฐจ์ด

  • Java Bean์€ POJO์ด๋‹ค.
  • POJO๋Š” Java Bean ์ด ์•„๋‹ˆ๋‹ค.
  • POJO ๋Š” Java bean ๋ณด๋‹ค ๋ฒ”์ฃผ๊ฐ€ ๋” ๋„“์€ ๊ฐœ๋…์ด๋‹ค.
์‚ญ์ œํ•˜๋Š” ๋ฐฉ๋ฒ• ์•Œ๋ ค์ฃผ์„ธ์š” ..
// Serializable(์ง๋ ฌํ™”) ์ธํ„ฐํŽ˜์ด์Šค ์ƒ์† ๋ฐ›์•„์•ผํ•œ๋‹ค -> ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ „์†ก๋˜๊ฑฐ๋‚˜ ํŒŒ์ผ์— ์ €์žฅ๋˜๋Š” ์ผ์ด
์žฆ๊ธฐ ๋•Œ๋ฌธ

public class NoPojo implements Serializable {

// ํด๋ž˜์Šค์˜ ๋ชจ๋“  ์†์„ฑ์€ ๋น„๊ณต๊ฐœ     
    private static final serialVersionUID = 1;
    private String id;
    private String name;

// ์ธ์ž๊ฐ€ ์—†๋Š” public ์ƒ์„ฑ์ž๊ฐ€ ์žˆ์–ด์•ผํ•œ๋‹ค.
    public NoPojo() {
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

 

 

[Spring] POJO(Plain Old Java Object)๋ž€?

์ฐธ๊ณ  ํฌ์กฐ(Plain Old Java Object, POJO)๊ฐ€ ๋ญ˜๊นŒ? [ ์œ„ํ‚ค๋ฐฑ๊ณผ ] Plain Old Java Object, ๊ฐ„๋‹จํžˆ POJO๋Š” ๋ง ๊ทธ๋Œ€๋กœ ํ•ด์„์„ ํ•˜๋ฉด ์˜ค๋ž˜๋œ ๋ฐฉ์‹์˜ ๊ฐ„๋‹จํ•œ ์ž๋ฐ” ์˜ค๋ธŒ์ ํŠธ๋ผ๋Š” ๋ง๋กœ์„œ Java EE ๋“ฑ์˜ ์ค‘๋Ÿ‰ ํ”„๋ ˆ์ž„์›Œ..

dev-coco.tistory.com

 

 

[Spring] POJO๋ž€?

์Šคํ”„๋ง์˜ ๋ณธ์งˆ์€ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์„œ๋น„์Šค ๊ธฐ๋Šฅ์„ POJO์— ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด๋‹ค - Professional Spring Framework, 2005 ๐ŸŒฑ POJO๋ž€? Plain Old Java Object, ๋‹จ์ˆœํ•œ ์ž๋ฐ” ์˜ค๋ธŒ์ ํŠธ POJO๋ž€, ๊ฐ์ฒด ์ง€ํ–ฅ์ ์ธ ์›๋ฆฌ์— ์ถฉ์‹คํ•˜๋ฉด์„œ..

doing7.tistory.com

 

 

Spring์˜ ๊ธฐ๋ณธ ํŠน์ง•-POJO

์˜ฌํ•ด 1์›”๋‹ฌ๋ถ€ํ„ฐ ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ด์šฉํ•ด ์‡ผํ•‘๋ชฐ ์›น์‚ฌ์ดํŠธ๋ฅผ ๊ตฌํ˜„ํ•ด๋ณด๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ ์ค‘์— ์žˆ๋‹ค. ์˜ค๋Š˜์€ ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ์˜ ํŠน์ง•์— ๋Œ€ํ•ด ๊ฐ„๋‹จํžˆ ์ •๋ฆฌํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค.์•„์ง๊นŒ์ง€ ์™„๋ฒฝํ•˜

velog.io