2023.01.05

겔로그·2023년 1월 5일
0

기타

목록 보기
12/12
post-thumbnail

1. Spring “Magic” with Proxy Design Pattern

Spring “Magic” with Proxy Design Pattern

동적 프록시

상속 기반 프록시

주의사항

cglib is unmaintained and does not work well (or possibly at all?) in newer JDKs, particularly JDK17+. If you need to support newer JDKs, we will accept well-tested well-thought-out patches… but you’ll probably have better luck migrating to something like ByteBuddy.

2. The CTO said that if you find anyone who uses kill -9 to close the program, you will be fired!

The CTO said that if you find anyone who uses kill -9 to close the program, you will be fired!

  • 사람들은 프로세스를 죽일때 kill -9 명령어를 자주 사용함
  • 하지만, kill -9를 사용한 프로세스 중지는 여러 장애를 발생시킬 수 있음
    - DB 데이터 불일치 문제 발생 (무결성 문제)

시스템을 종료하는 옳은 방법

1. kill -15 pid

sudo ps -ef |grep shutdown
sudo kill -15 14086

2. actuator

management:
  endpoints:
    web:
      exposure:
        include: shutdown
  endpoint:
    shutdown:
      enabled: true
  server:
    port: 8888

3. @PreDestroy

시스템 중지하는 작업은 아니나, 중지된 상태에서 백업 작업을 할 때 사용할 수 있는 방법입니다.
따라서 함께 컨테이너가 중지되기 전에 한 번 실행되며 백업 작업을 수행하거나 중단 시간 등을 기록할 수 있음을 의미합니다.

3. What Are the New Features of SpringBoot3?

What Are the New Features of SpringBoot3?

1. Java17 이상 도입

2. Jakarta EE 9 이상만 지원

3. Spring Native

GraalVM을 사용해 Spring 애플리케이션을 로컬에서 실행 가능한 이미지 파일로 컴파일

  • 시작 속도 개선
  • 최고 성능을 크게 개선
  • 메모리 사용량 개선

4. demo

5. 기타 의존성 업그레이드

결론

jdk 17 올릴 때 Spring Boot3 으로 적용하면 좋긴 할듯...
물론 그게 가능할까..?

4. Why Do Spring And IDEA Not Recommend @Autowired annotation?

Why Do Spring And IDEA Not Recommend @Autowired annotation?

  • Intellij 는 @Autowired를 권장하지 않는다고 함. @Resource는 상관없음

Injection 방식

  • Constructor Injection
  • Setter Injection
  • Annotation Injection

@Autowired vs @Resource

  • Identification of dependency: @Autowired by default injects beans by type whereas @Resource by default uses by name, if not, then by type.
  • Targets: @Autowired can be used on constructors, methods, parameters, and fields whereas @Resource can only be applied to methods and fields.
  • Provider: @Autowired is provided by Spring while @Resource is provided by JSR-250.

결론

@Autowired - Spring에서만 쓰는 표준
@Resource - Java 표준

Intellij는 Java 표준만 호환함

profile
Gelog 나쁜 것만 드려요~

0개의 댓글