// 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"));
}
'IT양아치' 카테고리의 다른 글
MariaDB 접속방법과 테이블 생성 (0) | 2024.11.09 |
---|---|
Section 3. Spring Framework를 사용하여 Java 객체 생성&관리 (0) | 2024.11.09 |
Docker Maria DB 설치 및 실행 (0) | 2024.10.26 |
sudo 없이 docker 그룹에 사용자 추가 (0) | 2024.10.26 |
Docker 설치 (0) | 2023.01.19 |