Notice
Recent Posts
Recent Comments
Link
개발 무지렁이
[Spring] 프레임워크 Spring과 Spring Container, Bean 본문
🚀 프레임워크(framework)란?
(1) 다양한 디자인 패턴과 다양한 라이브러리의 집합체
(2) 이미 만들어져 있는 뼈대(비기능적 요구사항, 눈에 보이지 않는 서비스들, 공통점을 찾아 하부구조 제공)
어떤 프로젝트간에 공통의 컴포넌트들, 모듈들이 있다. => 반제품
(1) 다양한 디자인 패턴과 다양한 라이브러리의 집합체
(2) 이미 만들어져 있는 뼈대(비기능적 요구사항, 눈에 보이지 않는 서비스들, 공통점을 찾아 하부구조 제공)
어떤 프로젝트간에 공통의 컴포넌트들, 모듈들이 있다. => 반제품
Spring Container(스프링 컨테이너), BeanFactory
WebApplicationContext(컨테이너 기능확장) < ApplicationContext(컨테이너 기능확장) < BeanFactory
(1) 객체의 생명주기(lifeCycle)를 알아서 관리
(2) DI(Dependency Injection)를 적용해서 객체를 주입
빈설정(Bean Definition)정보를 바탕으로 컨테이너가 자동으로 연결해주는 것.
객체들의 생성을 spring container가 주관, 객체를 낭비하지 않는다(경량급)
객체들의 의존관계를 정확하게 파악해서 객체의 lifeCycle을 관리
(3) 결합을 느슨하게
❓결합도란
public class Test {
public void aa() {
}
}
public class Service {
Test t = new Test(); // 결합도가 있다
public void insert() {
t.aa();
}
}
Maven🦣과 Gradle🐘
pom.xml (project object model)에 의존관계(dependency) 추가
🦣. Maven Project directory 구조
1) src/main/java
2) src/test/java
3) src/main/resource (정적문서, 환경설정문서 ex. xml)
Spring Core
의존관계에 있는(동작하기 위해서 필요한) 라이브러리를 다 알아서 관리한다.
'Backend > 스프링' 카테고리의 다른 글
[Spring] front Controller: DispatcherServlet(in web.xml)과 Spring MVC bean(in SPRING BEAN 설정문서.xml) (0) | 2023.05.02 |
---|---|
[Spring] 관점지향프로그래밍 AOP와 Advice, 프록시 서버(Proxy Server) (0) | 2023.05.01 |
[Spring] 생성과 주입의 annotation, & 활성화 (0) | 2023.04.30 |
[Spring] 환경설정정보(.properties) 바인딩 (0) | 2023.04.30 |
[Spring] Spring Container에 의한 제어의 역행(Inversion Of Control)과 DI (0) | 2023.04.30 |
Comments