본문 바로가기

야미스터디/Spring12

[Spring] IoC, DI, AOP 📌 - 작성중 IoC (Inversion of Control / 제어의 역전) 객체의 생성, 생명주기의 관리까지 모든 객체에 대한 제어권이 바뀌었음을 의미한다 어떤 객체가 사용하는 의존 객체를 직접 만들어 사용하는 것이 아닌, 주입 받아서 사용하는 방법을 말한다 Spring Framework가 IoC 컨테이너 기능을 제공한다 IoC 컨테이너 : 객체의 생성을 책임지고 의존성을 관리한다 *POJO의 생성, 초기화, 서비스, 소멸에 대한 권한을 갖는다 인스턴스의 생명 주기를 개발자가 아닌 컨테이너가 대신 관리해주기 때문에 개발자는 로직에만 집중이 가능하다 💡 POJO(Plain Of Java Project) : 객체지향적인 원리에 충실하면서 환경과 기술에 종속되지 않고 필요에 따라 재활용할 수 있는 방식으로 설계된 오브젝.. 2022. 11. 29.
[Spring] Swagger 📌 https://github.com/xx10222/selab-todo-list/wiki/Swagger GitHub - xx10222/selab-todo-list: SELAB TODO-LIST STUDY SELAB TODO-LIST STUDY. Contribute to xx10222/selab-todo-list development by creating an account on GitHub. github.com 투두리스트를 하면서 위키에만 정리해뒀던 Swagger,, 내일 스터디 발표를 위해 그냥 각잡고 정리를 하려고 한다! 🖐 문서화의 필요성 일반적으로 웹 서비스를 구현하면 간단한 구조더라도 위와 같은 형태를 유지한다 이런 구조로 개발하거나 유지보수를 진행할 경우, 해당 API 서버가 어떤 Spec을 가진.. 2022. 10. 6.
[Spring] Dispatcher Servlet 📌 🖐 들어가기 전에! Web Server (웹 서버) 인터넷을 기반으로 클라이언트에게 웹 서비스를 제공하는 컴퓨터 그러나 웹 서버에서 제공할 수 있는 데이터는 웹에서 처리가 가능한 HTML, CSS, 이미지 등의 정적인 데이터로 한정된다 WAS (Web Application Server) Web Application : 웹에서 실행되는 응용 프로그램 WAS는 웹 애플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공하는 소프트웨어 프레임워크이다 WAS에서는 비즈니스 로직도 수행이 가능하다 쉽게 생각하면 웹 서버 + 웹 컨테이너 형태라고 생각하면 된다! 컨테이너란 jsp, servlet을 실행시킬 수 있는 소프트웨어이다 자바 계열에서는 웹 애플리케이션 컨테이너라고도 불리며, 웹 애플리케이션에 배포되는 공간.. 2022. 9. 20.
[Spring] Spring vs EJB 📌 🖐 들어가기 전에 EJB(Enterprise Java Beans)를 공부하기 전에 먼저 Java Beans에 대해 간단하게 알아보자 🥜 Java Bean(자바 빈) Java Bean이란 Java로 작성된 소프트웨어 컴포넌트를 말한다 Java는 프로그램 기본 단위가 클래스이고, Java Bean은 그 클래스들이 복합적으로 이루어진 구조를 말한다 Java Bean은 데이터를 표현하는 것을 목적으로 하는 자바 클래스로, 컴포넌트와 비슷한 의미로도 사용된다 Java Bean은 단순히 Java 언어로 작성된 클래스를 의미하는 것이 아니라, 아래의 규격에 따라 만들어진 클래스를 의미한다 Java Bean의 규격 클래스는 패키지화 해야 한다 멤버 변수는 프로퍼티(Property)라 칭한다 클래스는 필요에 따라 직렬화.. 2022. 9. 20.
[Spring] bean vs component 📌 🖐 들어가기 전에 스프링 빈 (Spring Bean) 스프링 컨테이너에 의해 관리되는 자바 객체(POJO)를 의미한다 💡 Spring Bean이 필요한 이유 Spring Container가 특정 객체의 라이프 사이클을 관리한다는 것을 나타내기 위해 필요하다 스프링 빈(싱글톤 빈)의 생명주기 스프링 컨테이너 생성 스프링 빈 생성 의존 관계 주입 초기화 콜백 사용 소멸 전 콜백 스프링 종료 스프링 컨테이너 (Spring Container) Spring Container 또는 IoC Container라고도 한다 설정 파일을 읽어서 Bean 정보를 읽고 저장 및 관리하는 역할을 한다 스프링 컨테이너는 스프링 빈의 생명 주기를 관리하며, 생성된 스프링 빈들에게 추가적인 기능을 제공하는 역할을 한다 IoC(제어의 .. 2022. 9. 8.
[Spring] maven vs gradle 📌 🔨 빌드 관리 도구 maven과 gradle의 차이점을 살펴보기 전에, 이 둘이 뭔지부터 짚고 넘어가자! 이들은 빌드 관리 도구이다 빌드 관리 도구는 빌드 과정을 자동화해주며, 빌드 과정은 다음과 같다 종속성(외부 라이브러리) 다운로드 소스코드를 binary 코드로 컴파일 binary 코드를 패키징 코드 테스트 실행 프로덕션 시스템에 배포 💡 빌드(Build)란? 소스코드 파일을 컴퓨터에서 실행할 수 있는 독립적인 형태로 변환하는 과정과 결과 빌드 관리 도구를 사용하는 이유? 대규모 프로젝트에서 위와 같은 빌드 프로세스를 수동으로 호출하는 것은 실용적이지 않다 어떤 순서로 할지, 어떤 의존성이 있는지 모두 추적하기 쉽지 않다 하지만 빌드 관리 도구를 사용하면 라이브러리 추가 및 버전 동기화에 특화적이다 .. 2022. 8. 18.