본문 바로가기
카테고리 없음

Boot 추가 기능

by 임지혁코딩 2024. 1. 1.

Native ? 적은 메모리 사용 , 고성능 

 

GraalVM -> orcale+협력사의 개발 . program의 속도를 증가 시킨다는 정의

기존 C++로 만들어진 Hotspot의 JVM을 극복하기 한 Meta-circular JVM 

(자바 가상머신. JAVA로 개발한 프로그램을 컴파일하여 만드는 코드를 실행하기 위한 가상머신)

 

+ AOT  -> 미리 기계어로 번역한다.

실행 도중에 계속 번역이 이루어진다. 

 

속도를 많이 감소 시킬 수 있다. 

 

2.TestContainer

ex) mysql에 접근하는 test  -> Mocking으로 test. (mysql로 인한 문제를 감지못함)

직접 MYSQL에 올려보는 과정. 번거롭다. 

testconatiner는 자동으로 DB Container를 자동으로 띄워주고 종료되면, 컨테이너도 같이 종료된다. 

 

Test에 가서, @TestContainers로 어노테이션. 

@TestContainers class StudyServiceTest {

 

     @Container

     static PostgreSQLContainer postgreSQLContainer = new PostgreSQLContainer() .withDatabaseName("testDB");

      @Test

      void domything () { // ... 생략 }

 

 

 properties에서 db와 source를 설정. db를 설정하는 test까지 잘 진행된다. 

 

3. 설정값 관리 

 주로 properties에 관리한다. 변경 되었을때도, 배포가 필요하다.  ->db에서 관리할 수 있으나, 양이 작으면 애매하다.

Spring Cloud Config 

 분산 환경에서, 외부환경 설정을 관리하는 서버이다. 

 

메인 class에 

@EnableConfigServer

를 붙여주고, 설정 서버 규칙들을 해주면, 사용이 가능하다. 

(기본 8888 포트를 사용한다 ) 

 

이를 client가 읽어오고 싶다면? 

dto에서 @ConfigurationProperties("server명 ") 으로 class를 생성하고 applicatoin에서 설정을 해준다.

그 이후에 controller에서 해당 설정정보를 확인할 수 있다.