Spring이란 무엇인가!

혜얌·2022년 8월 7일
0

Spring

목록 보기
1/5
post-thumbnail

Spring이란 무엇인가


스프링이란 JAVA언어를 기반으로한 웹 프레임워크

간단히 말해, JAVA개발을 편하게 도와주는 프레임워크 정도로 생각하면 될 것 같다.

특징

  • 의존 주입 (Deoendency Injection : DI)
  • AOP (Aspect - Oriented Programming)
  • MVC 웹 프레임워크 제공
  • JDBC, JPA 연동, 선언적 트랜잭션 처리 등 DB연동 지원

스프링 관련 프로젝트

  • 스프링 데이터

    • 적은 양의 코드로 데이터 연동을 처리할 수 있도록 도와주는 프레임워크
    • JPA, 몽고DB, 레디스 등 다양한 저장소 기술 지원
  • 스프링 시큐리티

    • 인증 / 인가와 관련된 프레임워크로서 웹 접근 제어, 객체 접근 제어, DB, 오픈 ID, LDAP 등 다양한 인증 방식, 암호화 기능을 제공
  • 스프링 배치

    • 로깅 / 추적, 작업 통계, 실패 처리 등 배치 처리에 필요한 기본 기능을 제공한다.

Class

  • AnnotationConfigApplicationContext

    • 자바 애노테이션을 이용한 클래스로부터 객체 설정 정보를 가져온다.
    • AppContext 클래스를 생성자 파라미터로 전달한다.
  • GenericXmlApplicationContext

    • XML로부터 객체 설정 정보를 가져온다.
  • ApplicationContext

    • Bean 객체의 생성, 초기화, 보관, 제거 등을 관리한다.
    • 컨테이너라고도 부른다.

싱글톤 객체

별도로 설정을 하지 않을 경우 스프링은 한 개의 빈 객체만을 생성하며, 이때 빈 객체는 "싱글톤(Singleton)" 범위를 갖는다고 표현한다.

단일 객체를 의미하는데, 결국 스프링은 기본적으로 한 개의 @Bean에 대해 한 개의 빈 객체를 생성한다.

Member mem1 = ctx.getBean("member", Member.class);
Member mem2 = ctx.getBean("member", Member.class);

System.out.println(mem1 == mem2);

>> true
profile
얌얌

0개의 댓글