프로그래밍공부(Programming Study)/스프링(Spring Framework)8 Spring 애플리케이션 부팅 속도 최적화 방안 Spring 애플리케이션의 부팅 속도를 줄이기 위한 다양한 최적화 방법들이 있습니다. 이 최적화는 주로 애플리케이션의 구조와 설정, 의존성 관리 및 리소스 할당을 효율화하는 작업으로 나눌 수 있습니다. 아래에서 부팅 속도를 최적화하는 방법을 설정 최적화, 의존성 및 빈 관리, 메모리 최적화, 빌드 최적화와 같은 여러 측면에서 살펴보겠습니다.1. Lazy Initialization(지연 초기화)Spring Boot 2.2부터는 지연 초기화(Lazy Initialization)를 활성화하여 필요할 때 빈을 초기화할 수 있습니다. 기본적으로는 애플리케이션 부팅 시 모든 빈이 즉시 생성되지만, 지연 초기화를 사용하면 필요한 빈만 생성되므로 부팅 시간이 줄어듭니다.방법:application.properties 또.. 프로그래밍공부(Programming Study)/스프링(Spring Framework) 2024. 9. 23. Spring 애플리케이션에서 메모리 할당 기준과 사용 시점 Spring 애플리케이션에서 메모리 할당 기준과 사용 시점Spring 애플리케이션이 실행될 때 메모리 관리가 중요한 역할을 합니다. 메모리 할당은 애플리케이션이 어떤 작업을 수행하고 있는지와 애플리케이션의 크기에 따라 결정됩니다. Spring 애플리케이션에서 메모리를 어떻게 할당하고 사용하는지 이해하려면, JVM의 메모리 구조와 Spring 프레임워크에서 메모리를 사용하는 방식을 함께 살펴보아야 합니다.1. Spring 애플리케이션의 메모리 할당 기준Spring 애플리케이션이 실행될 때, 메모리는 주로 JVM(자바 가상 머신)에 의해 관리됩니다. JVM은 애플리케이션이 필요로 하는 메모리를 자동으로 할당하며, 메모리 할당은 주로 다음과 같은 세 가지 요소에 의해 결정됩니다.1.1. JVM 메모리 구조JV.. 프로그래밍공부(Programming Study)/스프링(Spring Framework) 2024. 9. 22. Spring 애플리케이션 부팅 과정, 부팅속도와 CPU 할당량과의 관계 1. Spring 애플리케이션 부팅 과정 개요Spring 애플리케이션은 부팅 시 여러 단계의 초기화 작업을 거칩니다. 이 부팅 과정에는 빈 초기화, 애플리케이션 컨텍스트 생성, 설정 파일 로드 등이 포함됩니다. 이를 좀 더 구체적으로 살펴보면 다음과 같습니다.빈 스캐닝 및 등록: 클래스패스에서 빈(Bean)을 찾아내고, 이를 스프링 컨테이너에 등록합니다.의존성 주입: 빈 간의 의존성을 분석하고, 필요한 의존성을 주입합니다.설정 파일 로드: application.properties 또는 application.yml 파일에서 설정 값을 읽고 이를 애플리케이션에 적용합니다.애플리케이션 컨텍스트(ApplicationContext) 초기화: 컨텍스트가 완전히 구성된 후, 모든 빈이 준비되면 애플리케이션이 실제로 .. 프로그래밍공부(Programming Study)/스프링(Spring Framework) 2024. 9. 22. 스프링 부트 버전별 특징 토이 프로젝트 환경 설정용 버전별 특징 파악을 해 보았다. https://velog.io/@jh8579/Spring-%EB%B2%84%EC%A0%BC%EB%B3%84-%ED%8A%B9%EC%A7%95 Spring / Spring Boot version별 특징 Spring 3.0부터 Java5가 지원된다.기존에 유지하던 하위호환성에 Generic이나 가변인자(varargs) 등과 같은 개선사항이 추가된다.a) 전체 프레임워크를 하나의 spring.jar 파일로 제공하던 부분을 여러개의 velog.io https://spring.io/blog/2022/03/28/an-update-on-java-17-adoption An update on Java 17+ adoption As a follow-up to my .. 프로그래밍공부(Programming Study)/스프링(Spring Framework) 2022. 12. 3. @Valid Annotation을 이용해 입력값 검증 특정 컬럼 값에 대해서 Null 또는 특정 패턴을 검증해야할 경우가 있다. @Null Annotation은 Null이어야 하고, @NonNull 또는 @NotNull은 Null 값이 아니어야 한다는 뜻이다. !? 그렇다면 Null 또는 특정 패턴일 경우에는???? 정답은 정규식 패턴에서 or 연산을 뜻하는 |를 활용하는 것이었다. Build.gradle 파일에 validation 의존성을 추가하여 사용해야 한다.(버전은 본인 버전에 맞게! 본인은 springboot 2.4.5 version 사용중) dependencies { ** // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-validation impl.. 프로그래밍공부(Programming Study)/스프링(Spring Framework) 2022. 7. 30. 스프링 MVC 1편(김영한님) 공부 - HTTP 기본 HTTP 요청 메시지를 통해 클라이언트에서 서버로 데이터를 전달하는 3가지 방법 GET - 쿼리 파라미터 /url?username=hello&age=20 메시지 바디 없이, URL의 쿼리 파라미터에 데이터를 포함해서 전달 예) 검색, 필터, 페이징등에서 많이 사용하는 방식 POST - HTML Form content-type: application/x-www-form-urlencoded 메시지 바디에 쿼리 파리미터 형식으로 전달 username=hello&age=20 예) 회원 가입, 상품 주문, HTML Form 사용 HTTP message body에 데이터를 직접 담아서 요청 HTTP API에서 주로 사용, JSON, XML, TEXT 데이터 형식은 주로 JSON 사용 POST, PUT, PATCH .. 프로그래밍공부(Programming Study)/스프링(Spring Framework) 2022. 5. 10. 2022.04.21 스프링 기본 원리 공부 - 2 스프링으로 전환하기 - @Configuraition : 구성(설정)정보 - @Bean : 빈객체로 스프링 컨테이너 등록 - @Bean(name= "~")스프링컨테이상 이름 ~로 지정 - ApplicationContext 로 무조건 시작함-> 스프링 컨테이너 - AnnotationConfigApplicationContext(AppConfig.class)-> 설정정보 등록 - applicationContext.getBean(컨테이너에서 bean의 이름, 반환타입) -> 사용할 스프링 Bean 객체 갖고오기 스프링 컨테이너 생성 - ApplicationContext -> 인터페이스 - AnnotationConfigApplicationContext-> 구현체 - BeanFactory(직접 쓸 일 없음) 스프링이.. 프로그래밍공부(Programming Study)/스프링(Spring Framework) 2022. 4. 22. 2022.04.20 스프링 기본원리 공부 1. EJB (Enterprise Java Beans) -> JAVA, JSP, Servlet 종합 -> 정파의 기술 - 단점 : 비용이 많이 들고, 어렵고 복잡하고 느림 2. POJO(Plain Old Java Object) - 오래된 방식의 자바방식으로 돌아가자! 3. 스프링 탄생(Rod Johnson) - EJB 컨테이너 대체 4. 하이버네이트(Gavin king) - EJB 엔티티빈 대체 - JPA(Java Persistance API) 새로운 표준 정의 스프링이란? 스프링의 핵심 개념,컨셉 - 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크 좋은 객체 지향 프로그래밍이란? 객체지향프로그래밍 - 유연하고 변경이 용이하게 개발할 수 있다 -> 다형성(polymorphism) ex).. 프로그래밍공부(Programming Study)/스프링(Spring Framework) 2022. 4. 21. 이전 1 다음 728x90