728x90

 

 

Bean이란?

 

빈(Bean)은 IoC(Inversion of Control) 컨테이너에 의해 관리되는 객체

애플리케이션의 핵심 구성 요소로, 주로 서비스, 데이터 엑세스 객체(DAO), 컨트롤러 등과 같은 객체를 포함한다.

 

Spring 컨테이너는 이러한 빈들을 생성하고, 설정하고, 관리한다.

 


 

Bean의 특징

 

  1. Spring IoC 컨테이너에 의해 관리됨
  2. 구성 메타데이터를 통해 정의됨 : 빈의 정의는 XML 파일, 애노테이션, JAVA 설정 클래스를 통해 제공됨.
  3. 의존성 주입 지원 : 빈은 다른 빈이나 리소스와의 의존성을 주입받을 수 있다.
  4. 생명 주기 관리 : Spring은 빈의 생명 주기(생성, 초기화, 소멸)를 관리함

 


 

Bean의 생성 방법 3가지

 

1. XML 설정 파일

 

<bean id="myBean" class="com.example.MyBean"/>

 

 

2.애노테이션 기반 설정

 

@Component
public class MyBean {
    // ...
}

 

3. Java 설정 클래스

 

@Configuration
public class AppConfig {
    @Bean
    public MyBean myBean() {
        return new MyBean();
    }
}

 

 


 

Bean의 생명 주기

 

  1. 스프링 IoC 컨테이너 생성
  2. 스프링 빈 생성
  3. 의존관계 주입
  4. 초기화 *callback 메서드 호출
  5. 사용
  6. 소멸 전 callback 메서드 호출
  7. 스프링 종료 

 

*callback 메서드 : 특정 이벤트나 조건이 발생했을 때 시스템이나 프레임워크에 의해 자동으로 호출되는 메서드


 

Bean Scope

 

빈 스코프는 빈의 생명 주기와 사용 범위를 정의합니다.

 

Spring에서 제겅하는 주요 Scope

 

  • singleton
  • prototype
  • request
  • session
  • globalSession
728x90

톰켓에서 조금 수정을 해주니까 해결이 가능했습니다.

 

톰켓이 설치되어 있는 폴더/conf/web.xml 

 

을 열어보면 엄청 긴 소스들이 쭉~~~ 나열 되어 있습니다.

 

그 소스 중에서

The mappting for the default servlet 항목에 가보면

default 라는 이름의 변수에 대한 설정이 어떻게 되어있는지 나와 있습니다.

 

그 곳에

<servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>/</url-pattern>
        <url-pattern>*.js</url-pattern>
        <url-pattern>*.css</url-pattern>
        <url-pattern>*.png</url-pattern>
        <url-pattern>*.jpg</url-pattern>
        <url-pattern>*.jpeg</url-pattern>
</servlet-mapping>

위의 소스처럼 수정을 해주면

 

 

이렇게 잘 되는 것을 볼 수 있습니다.

+ Recent posts