ÃֽŠ°Ô½Ã±Û(JAVA)
2018.07.30 / 10:25

½ºÇÁ¸µ 4 ÀÔ¹®°­ÀÇ : 4. ·Òº¹ / Lombok !!

summerman
Ãßõ ¼ö 220
ÀÌÀü°­ÀÇ
- https://gs.saro.me/#!m=elec&jn=676

ÀÌÀü °­ÀÇ¿¡¼­ ÀÌ°ÍÀú°Í ¸¹ÀÌ ½è±â ¶§¹®¿¡,
À̹ø Àå¿¡¼± Á¶±Ý ½¯ °â ·Òº¹À» ´Ù·ïº¸µµ·Ï ÇÏ°Ú½À´Ï´Ù.
·Òº¹Àº ½ºÇÁ¸µ¿¡ °ü·ÃµÈ °ÍÀº ¾Æ´ÏÁö¸¸, ÀÚ¹Ù¿¡¼­ Àü¹ÝÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
½ºÇÁ¸µ ¶ÇÇÑ getter, setter °¡ ¸¹ÀÌ ¾²¿©, ¼Ò½º°¡ ¾îÁö·¯¿î Çö»óÀÌ Àֱ⿡ À̹ø ÀåÀ» Ãß°¡ÇÏ°Ô µÇ¾ú½À´Ï´Ù.
- ·Òº¹Àº getter, setter ¿Ü¿¡µµ ¸¹Àº ±â´ÉµéÀÌ ÀÖ½À´Ï´Ù.
- Âü°í : https://gs.saro.me/#!m=pd&pn=70


ÀÌÀü °­ÀÇ¿¡ ¾²¿©Áø ÄÚµå ÀϺÎ
  1. package com.first.jpa;
  2.  
  3. import java.io.Serializable;
  4. import java.util.Date;
  5.  
  6. import javax.persistence.Column;
  7. import javax.persistence.Entity;
  8. import javax.persistence.GeneratedValue;
  9. import javax.persistence.GenerationType;
  10. import javax.persistence.Id;
  11. import javax.persistence.Table;
  12. import javax.persistence.Temporal;
  13. import javax.persistence.TemporalType;
  14.  
  15. @Entity
  16. @Table(name="simple_comment")
  17. public class SimpleComment implements Serializable
  18. {
  19. private static final long serialVersionUID = 1L;
  20.  
  21. @Id
  22. @GeneratedValue(strategy = GenerationType.AUTO)
  23. @Column(name="comment_no")
  24. private long comment_no;
  25.  
  26. @Column(nullable = false)
  27. private String text;
  28.  
  29. @Column(insertable = false, updatable = false)
  30. @Temporal(TemporalType.TIMESTAMP)
  31. private Date datetime;
  32.  
  33. public long getComment_no()
  34. {
  35. return comment_no;
  36. }
  37. public String getText()
  38. {
  39. return text;
  40. }
  41. public void setText(String text)
  42. {
  43. this.text = text;
  44. }
  45. public Date getDatetime()
  46. {
  47. return datetime;
  48. }
  49. }
ÇÊ¿ä¾ø´Â getter, setter¸¦ »ý·«Çߴµ¥µµ ¼Ò½º°¡ get / set À¸·Î ¹ÝÀº Â÷ÁöÇÏ´Â ´À³¦ÀÌ µì´Ï´Ù.


1. ·Òº¹À» ¼³Ä¡Çغ¸ÀÚ!
- ÀÌÀü °­ÀÇ¿¡¼­ ÀÛ¾÷Çß´ø first ÇÁ·ÎÁ§Æ®¸¦ ºÒ·¯¿É´Ï´Ù.
- pom.xml ÀÇ <dependencies></dependencies> »çÀÌ¿¡ ¾Æ·¡ Äڵ带 Ãß°¡ÇÕ´Ï´Ù.
  1. <dependency>
  2. <groupId>org.projectlombok</groupId>
  3. <artifactId>lombok</artifactId>
  4. <version>1.16.8</version>
  5. <scope>provided</scope>
  6. </dependency>
- ·Òº¹ÀÌ getter / setter ¸¦ ¸¸µé¾îÁÖ´õ¶óµµ ÀÌŬ¸³½º°¡ À̸¦ ÀνÄÇØ¾ß ÀÎÅÚ¸®¼¾½º¸¦ ¸¸µé°í ¿À·ùµµ ³ªÁö ¾Ê±â ¶§¹®¿¡ ¾Æ·¡¿Í °°Àº ÀÛ¾÷À» ÇØÁּžßÇÕ´Ï´Ù.
¹æ¹ý 1
- ¸ÞÀ̺ìrepository°æ·Î/org/projectlombok/lombok/1.16.8/lombok-1.16.8.jar ½ÇÇà
¹æ¹ý 2
- https://projectlombok.org/mavenrepo/index.html ¿¡¼­ lombok.jar ¸¦ ´Ù¿î¹Þ¾Æ ½ÇÇà.
½ÇÇàÀÌ ¾ÈµÉ¶§...
ÇÊÀÚ´Â 7zipÀ» ¾²±â ¶§¹®¿¡ ¸ô¶úÁö¸¸... ÁÖº¯»ç¶÷µé Áß Æ¯Á¤ ¾ÐÃà ÇÁ·Î±×·¥À» »ç¿ëÇÏ°í ÀÖÀ¸¸é jar¸¦ ÇØ´çÇÁ·Î±×·¥ÀÌ ¼±Á¡ÇÏ°íÀ־ ¾ÐÃàÆÄÀÏÀÌ ¿­¸®´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ÇØ´ç ÇÁ·Î±×·¥ ¿É¼Ç¿¡¼­ Á¦¿ÜÇϰųª java ¸í·É¾î·Î ½ÇÇà½ÃÄÑÁÖ½Ã¸é µË´Ï´Ù.
½ÇÇà ÈÄ
IDE(STS / ÀÌŬ¸³½º)¸¦ ã¾Æ¼­ ÀÔ·ÂÇØÁÝ´Ï´Ù.
ÀÌ °úÁ¤ÀÌ ³¡³ª¸é ÇØ´ç IDE´Â ¸°Æ® / ¿ÀÅäÄÄÆÄÀÏ / ÀÎÅÚ¸®¼¾½º¿¡¼­ ·Òº¹ÀÌ ÀÎ½ÄµÇ¾î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
±âŸ
- ÀÌ °úÁ¤¿¡¼­ ÇÁ·ÎÁ§Æ® ÃÖ»óÀ§¿¡ ¿À·ùÇ¥½Ã°¡ µÇ¾îÀÖ´Ù¸é.
- ¿ìŬ¸¯ -> Maven -> Update Project ¸¦ ÇØÁÖ½Ã¸é µË´Ï´Ù.


2. ·Òº¹À» Àû¿ëÇغ¸ÀÚ!
À§ SimpleComment Ŭ·¡½º¸¦ ´ÙÀ½°ú °°ÀÌ ¹Ù²ãÁÝ´Ï´Ù.
  1. package com.first.jpa;
  2.  
  3. import java.io.Serializable;
  4. import java.util.Date;
  5.  
  6. import javax.persistence.Column;
  7. import javax.persistence.Entity;
  8. import javax.persistence.GeneratedValue;
  9. import javax.persistence.GenerationType;
  10. import javax.persistence.Id;
  11. import javax.persistence.Table;
  12. import javax.persistence.Temporal;
  13. import javax.persistence.TemporalType;
  14.  
  15. import lombok.Data;
  16. import lombok.Getter;
  17. import lombok.Setter;
  18.  
  19. @Entity
  20. @Table(name="simple_comment")
  21. @Data
  22. public class SimpleComment implements Serializable
  23. {
  24. private static final long serialVersionUID = 1L;
  25.  
  26. @Id
  27. @GeneratedValue(strategy = GenerationType.AUTO)
  28. @Column(name="comment_no")
  29. @Getter
  30. private long comment_no;
  31.  
  32. @Column(nullable = false)
  33. @Getter @Setter
  34. private String text;
  35.  
  36. @Column(insertable = false, updatable = false)
  37. @Temporal(TemporalType.TIMESTAMP)
  38. @Getter
  39. private Date datetime;
  40. }
- ÀÌ·¸°Ô Çؼ­ ÈξÀ º¸±â ±ò²ûÇØÁ³½À´Ï´Ù.
- ·Òº¹À» »ç¿ëÇÒ Å¬·¡½º¿£ @Data ¸¦ ½áÁÖ°í @Getter @Setter ¸¦ ÁöÁ¤ÇØÁÖ½Ã¸é µË´Ï´Ù.
- ÀÌÁ¦ Á÷Á¢ ½ÇÇàÇÏ¿© Á¦´ë·Î ÀÛµ¿ÇÏ´ÂÁö È®ÀÎÇغ¾½Ã´Ù.


3. Á» ´õ ÀÀ¿ëÇÏ¸é ¾Æ·¡¿Í °°ÀÌ ¾µ ¼ö ÀÖ½À´Ï´Ù.
- ·Òº¹À» Àû¿ëÇÏÁö ¾ÊÀº ¿¹Á¦ .......
  1. import java.util.Date;
  2.  
  3. public class TextData
  4. {
  5. public long getNo()
  6. {
  7. return no;
  8. }
  9. public void setNo(long no)
  10. {
  11. this.no = no;
  12. }
  13. public String getSubject()
  14. {
  15. return subject;
  16. }
  17. public void setSubject(String subject)
  18. {
  19. this.subject = subject;
  20. }
  21. public String getText()
  22. {
  23. return text;
  24. }
  25. public void setText(String text)
  26. {
  27. this.text = text;
  28. }
  29. public String getLink()
  30. {
  31. return link;
  32. }
  33. public void setLink(String link)
  34. {
  35. this.link = link;
  36. }
  37. public Date getDate()
  38. {
  39. return date;
  40. }
  41. public void setDate(Date date)
  42. {
  43. this.date = date;
  44. }
  45. private long no;
  46. private String subject;
  47. private String text;
  48. private String link;
  49. private Date date;
  50. }
- ·Òº¹ Àû¿ë
  1. import java.util.Date;
  2. import lombok.Data;
  3. import lombok.Getter;
  4. import lombok.Setter;
  5.  
  6. @Data
  7. @Getter @Setter
  8. public class TextData
  9. {
  10. private long no;
  11. private String subject;
  12. private String text;
  13. private String link;
  14. private Date date;
  15. }
- ±î... ±ò²ûÇØ!!


¿©±â ±îÁö ÇÏ¼Ì´Ù¸é ¾ÕÀ¸·ÎÀÇ °­ÀÇ´Â ¸®´ª½º¿¡ ÅèÄÏ°ú MySQLÀ» ¼³Ä¡ÇÏ°í war ¹èÆ÷¸¦ Çغ¸´Â °­ÀǸ¦ Çϵµ·Ï ÇÏ°Ú½À´Ï´Ù.


´ÙÀ½°­ÀÇ
https://gs.saro.me/#!m=elec&jn=679


½ºÇÁ¸µ 4 ÀÔ¹®°­ÀÇ
0. STS ¼³Ä¡
- https://gs.saro.me/#!m=elec&jn=673
1. Spring Starter Project ¸¦ ÀÌ¿ëÇÑ JSTL ¿¹Á¦
- https://gs.saro.me/#!m=elec&jn=674
2. Spring Starter Project ¸¦ ÀÌ¿ëÇÑ Mustache ¿¹Á¦
- https://gs.saro.me/#!m=elec&jn=675
3. µ¥ÀÌÅͺ£À̽º ¿¬µ¿ ( MySQL / ÇÏÀ̹ö³×ÀÌÆ® )
- https://gs.saro.me/#!m=elec&jn=676
4. ·Òº¹ / Lombok !!
- https://gs.saro.me/#!m=elec&jn=677
5. ¿ìºÐÅõ ¸®´ª½º Java / Tomcat / MySQL ¼³Ä¡
- https://gs.saro.me/#!m=elec&jn=679
6. ¸®´ª½º ¼­¹ö¿¡ ¹èÆ÷
- https://gs.saro.me/#!m=elec&jn=680