Spring5 Spring Container, Bean Spring Container (스프링 컨테이너) 스프링 컨테이너는 자바 객체의 생명 주기를 관리하며, 생성된 자바 객체들에게 추가적인 기능을 제공하는 역할을 한다. 스프링에서는 자바 객체를 빈(Bean)이라 한다. 스프링 컨테이너의 종류에는 BeanFactory와 ApplicationContext가 있다. 둘 다 빈을 등록하고 생성하고 조회하고 돌려주는 등 빈을 관리하는 역할을 한다. ApplicationContext가 BeanFactory의 빈 관리 기능들을 상속 받았고, 그 외에 국제화 등의 추가적인 기능을 갖고 있어 스프링 컨테이너라고 하면 보통 ApplicationContext라고 한다. Spring Container 사용하는 이유 먼저, 객체를 생성하기 위해서는 new 생성자를 사용해야 한다... 2024. 1. 30. Spring Framework Spring Framework (스프링 프레임워크) 프레임워크 (Framework) 프레임워크란 응용 프로그램이나 소프트웨어 솔루션 개발을 수월하기 위해 구조, 틀이 제공된 소프트웨어 환경 이다. Spring 스프링은 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크 이다. 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있다. POJO 기반의 구성으로 자바 코드를 이용해서 객체를 구성하는 방식 그대로 스프링에서 사용할 수 있다. 덕분에 높은 생산성과 유연한 테스트를 할 수 있다. DI(의존성 주입)을 통한 객체 관계 구성을 지원한다. 객체의 생성부터 소멸까지 객체 생명주기 관리를 사용자가 아닌 특별한 객체에게 맡긴다. (IoC) AOP(횡단 관심사 분리) 지원 MVC 구조로 계층이 분.. 2024. 1. 29. Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) throws java.lang.ClassFormatError accessible: 어쩌구 에러 예전에 작게 진행했었던 자바 프로젝트를 열려고 하는데 import 자체가 안된다!! 이런 문구와 함께 Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module 에러 등장ㅠㅠ 팀플 하기 전에 진행했던 프로젝트여서 getter, setter 있고.. 맥북엔 롬복이 깔려 있어서 문제 발생? 구글링을 해보니까 eclipse.ini 파일에 --illegal-access=warn .. 2024. 1. 27. Dispatcher Servlet Dispatcher Servlet 디스패처 서블릿이란 서블릿 컨테이너의 가장 앞단에서 HTTP 프로토콜로 들어오는 모든 요청을 먼저 받아 적합한 컨트롤러에 위임해주는 프론트 컨트롤러. 프론트 컨트롤러 프론트 컨트롤러(Front Controller)란 서블릿 컨테이너의 제일 앞에서 서버로 들어오는 클라이언트의 모든 요청을 받아서 처리해주는 컨트롤러. 프론트 컨트롤러가 도입되기 전에는 각 컨트롤러마다 공통 로직을 복붙 형식으로 다시 작성하여 사용했지만, 프론트 컨트롤러가 도입된 이후에는 공통의 로직에 대한 처리가 가능해졌다. Spring MVC에서의 Dispatcher Servlet 흐름 처음 클라이언트에서 요청이 오면 디스패처 서블릿이 해당 요청을 받는다. Handler Mapping을 통해 요청에 알맞은.. 2024. 1. 26. MVC 패턴 팀 프로젝트를 MVC2 패턴으로 진행했었다. 프로젝트를 진행한 지 오래 되기도 하고 MVC에 대해 다시 정리하고자 포스팅을 한다. MVC 패턴 (Model - View - Controller) Model - 프로그램의 내부 상태, 데이터(정보) 를 뜻함 View - 사용자 인터페이스, 클라이언트에게 보여지는 화면을 뜻함 Controller - 데이터와 비즈니스 로직 간의 상호 작용을 뜻함, DB 접근 경우에 따라 Service에 접근 MVC 패턴 장단점 정의 Model, View, Controller로 분리하는 아키텍처 장점 과거에는 Controller에 다 담아두고 처리했다. 기능 별로 코드를 분리하여, 가독성을 높이고 재사용성을 증가시킨다. 단점 view와 model 사이에 의존성이 높아서 애플리케이.. 2024. 1. 26. 이전 1 다음