본문 바로가기
IT양아치

Section 2. Java Spring Framework 시작하기

by 취화선26 2024. 11. 4.

 

// Released JDK 16

record Person(String name, int age) { };

→  setter, getter 만들 필요 없음

 

@Bean

public Person person() { 

  var person = new Person("Ravi", 20);

  perton.age() // getter

}

 

 

□ Spring Container ? 

  - manages Spring beans & their lifecycle

  - Spring Container, IOC Container, Spring Context 모두 같은 의미

  - 종류

  1. Bean Factory : Basic Spring Container

  2. Applicatio Context : Advanced Spring Container with enterprise-specific features

    → Recommened for Web App, Web Service, REST API ...

 

□ POJO, Java Bean, Spring Bean

  - Spring Bean : Spring 프레임워크에서 관리하는 것은 무엇이든 Spring Bean 이 될 수 있다

class Pojo { 

  private String text;

  private int number;

  public String toString() { 

    return text + ":" + number;

 

class JavaBean implements Serializable // EJB : Enterprise Java Bean { 

  // JavaBean 제약1 : public no-args constructor 

  public JavaBean() { 

  } 

  private String text;

  private int number;

  // JavaBean 제약2 : getter, setter 가 있어야한다

  public void setText(String text) { 

    this.text =text; 

  }

  ... getter, setter ...

  // JavaBean 제약3 : Serializable 을 구현하면 클래스의 인스턴스는 Java Bean 이 된다.

 

 

public class SpringBeanVsJavaBean { 

  public static void main(String[] args) { 

    // 1. POJO

    Pojo pojo = new Pojo();

    System.out.pringln(pojo); → null:0

  }

}

 

  

□ Try with resources 

  - 코드 내에서 예외 발생 시 상황별로 자동 호출

try(var context = new AnnotationConfigApplicationContext(HelloWorldConfiguration.class) { 

  System.out.println(context.getBean("name"));

}