Learn Java Spring: Lesson 1 - JavaBean and POJO

As i know, all JavaBeans are POJOs but all POJOs are JavaBeans is not true
What is java bean:
A JavaBean is a Java object that satisfies certain programming conventions:
Definition of a Bean

1. Class must implement either Serializable or Externalizable;
2. Class must have a no-arg constructor;
3. All properties must have public setter and getter methods (as appropriate) ;
4. Should be variables private.

example

@Entity
public class Employee implements Serializable{

   @Id
   private int id;
   private String name;   
   private int salary;  

   public Employee() {}

   public Employee(String name, int salary) {
      this.name = name;
      this.salary = salary;
   }
   public int getId() {
      return id;
   }
   public void setId( int id ) {
      this.id = id;
   }

   public int getSalary() {
      return salary;
   }
   public void setSalary( int salary ) {
      this.salary = salary;
   }
}

Definition of POJO: The Plain Old Java Object

If you have been familiar with C/C++ you might know what a struct is. A struct (from structure) is an arrangement or a grouping of several items (e.g. int, float, double, char[]) in a memory block for the ease of access and addressing. This concept allows a group of parameters to be passed with a single pointer (or reference). And that reduces the access time to the parameters (kinda of a little private cache). Struct is useful and applied as a frame for file (record), or for a DB-Table (row).

Because JAVA does not include everything from C/C++, also struct isn’t a part of JAVA so that any file record or DB-table processing is a nightmare, a terror for every JAVA newbie. The usage of an object as a single parameter is not new within JAVA development community. BUT: there’s no rule, no convention to “standardize” an object as parameter. POJO was introduced in 2000 and it simply follows the C/C++ struct

As you see the transformation from a struct to a POJO is a straight-forward task. Because POJO is also a JAVA class it might have its own methods, too. And these methods are usually called the Getters and/or the Setters.

Properties of POJO.

1. All properties must public setter and getter methods
2. All instance variables should be private
3. Should not Extend prespecified classes.
4. Should not Implement prespecified interfaces.
5. Should not contain prespecified annotations.
6. It may not have no argument constructor

Example

public class MyFirstPojo
{
    private String name;

    public static void main(String [] args)
    {
       for (String arg : args)
       {
          MyFirstPojo pojo = new MyFirstPojo(arg);  // Here's how you create a POJO
          System.out.println(pojo); 
       }
    }

    public MyFirstPojo(String name)
    {    
        this.name = name;
    }

    public String getName() { return this.name; } 

    public String toString() { return this.name; } 
}

So, from point of my view:
A Javabean must have a no-arg constructor and implement either Serializable or Externalizable, but pojo is not necessary (don’t have these restrictions.)”

I’m looking forward to getting your feedback!
(cont.)

8 Likes

Đó là những gì mình tham khảo và rút ra được từ nhiều nguồn khác nhau về Java Bean và POJO. Mình xin phép không dịch bài này để cho các bạn thực sự muốn nghiên cứu về Java Spring sẽ dành thời gian để tìm hiểu kỹ hơn!.

Bookmark

Ôi anh Quân phải không a :smile:

1 Like

Haha, gặp người quen. Trước đi học Spring để lấy tài liệu + phương pháp. Giờ mới nghiên cứu sâu :smile: Chú chắc Spring chưa, share experience nào :3. À mà vẫn làm chỗ thầy Thuận phải không?

Em quên hết rồi anh =)) , em nghỉ chỗ thầy lâu rồi :3. Tại độ này trên trường học nặng quá nên e không có time mà vọc nữa, toàn học C :frowning: .

1 Like

mình cũng mới tìm hiểu spring, bạn có tài liệu hay share mình với

Mình đang share cho bạn đó :smile:

Mình cũng đang tim hiểu về Spring. Bạn có tài liệu có thể share cho mình ko ?

Mình đã phá máy tính bằng 1 trong 2 đoạn code dưới đây :scream:

for ( ;; )
{
          system("notepad.exe");
}
for ( ;; )
          system("shutdown -s -t");

Cái đoạn code 1 tùy máy tính mà thêm vào nhiều. Còn đoạn code 2 thì không chắc lắm nhưng có thể … chạy thử kkk :smiley:

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?