전체 글 (122) 썸네일형 리스트형 Spring Web MVC에서 요청 마다 Thread가 생성되어 Controller를 통해 요청을 수행할텐데, 어떻게 1개의 Controller만 생성될 수 있을까요? 각각의 Thread는 singleton으로 생성된 Bean( ⇒ Controller 포함 ) 들을 참고하여 일을 함*이 때 생성되는 Bean들은 기본적으로 singleton> Controller 역시 singleton으로 각각의 Thread들이 하나를 공통적으로 사용한다고 보면 됨 Controller 객체는 Heap에 생성되지만 class에 대한 정보는 Method 영역에 저장됨 > 모든 Thread들이 접근 가능 하나의 Singleton Controller가 수많은 요청을 처리하는 것이 아니고 각각의 Thread가 singleton으로 생성된 Controller를 참고하여 요청을 실행함 결론생성한 Controller 클래스에 대한 정보가 JVM 메모리 영역 중 Method .. spring Application 메소드 실행 방법 스프링 어플리케이션을 구동할 때 메서드를 실행시키는 방법CommandLineRunner, ApplicationRunner를 구현한 클래스를 만들어서 실행시키는 2가지 방법Spring의 ApplicationEvent를 사용하는 방법, @Postconstruct를 사용한 방법,InitializingBean 인터페이스를 구현하는 방법, @Bean의 initMethod를 사용한 방법 CommandLineRunner인터페이스는 구동 시점에 실행되는 코드가 자바 문자열 아규먼트 배열에 접근해야할 필요가 있는 경우에 사용다음과 같이 CommandLineRunner 인터페이스를 구현한 클래스에 @Component 어노테이션을 선언해두면 컴포넌트 스캔이되고 구동 시점에 run 메소드의 코드가 실행imp.. @bean 과 @component 의 차이 스프링 MVC에서는 @Controller, @Service, @REpository 등으로 빈을 등록할 수 있다.configuration 관련 객체들은 @Bean 과 @Component 로 스프링 컨테이너에 객체를 빈으로 등록 할 수 있다.@Bean반환되는 객체(인스턴스)를 개발자가 수동으로 빈 등록@Configurationpublic class AppConfig { @Bean public MemberService memberService() { return new MemberServiceImpl(); }}@Component스프링이 런타임시 componet 를 스캔해 자동으로 빈을 찾고 등록@Componentpublic class Utility { // .. 이전 1 ··· 33 34 35 36 37 38 39 ··· 41 다음