Spring

    [Spring] AOP - 관점 지향 프로그래밍 이란?

    AOP는 Aspect Oriented Programming을 줄인말로 "관점지향" 프로그래밍이라는 뜻을 가지고 있습니다! 네?!?! 관점지향이요?? 객체지향(OOP)이랑 절차지향(PP)만 있는거 아니었어요?? 전 중립이어서 아무 관점도 없는데요..?? ...라고 하시진 않겠죠 ㅋㅋㅋ.. 농담입니다. AOP는 스프링 철학의 기반이 된 POJO를 이루는 삼각형에도 등장한 아주 중요한 개념입니다. 간단해보이면서도 새로운 단어와 개념이 많아서 이해하는데는 조금 시간이 걸렸던 것 같습니다. 오늘은 이 AOP에 대해서 천천히 알아보겠습니다. [*중요*] 그냥 AOP 라고만 한다면 "AOP"와 AOP의 구현체를 제공하는 "스프링 AOP"에 대해 중의적일 수 있으므로, 두개를 구분지어서 말씀드리는 점 꼭 참고해주세요!..

    [Spring] 스프링 프레임워크(Spring framework)의 탄생 배경 (feat. CGI, Servlet, JSP, J2EE, EJB) - 3편(최종)

    아직 1편, 2편을 안보셨다면 먼저 보고와주세요~! [Spring] 스프링 프레임워크(Spring framework)의 탄생 배경 (feat. CGI, Servlet, JSP, J2EE, EJB) - 1편 [Spring] 스프링 프레임워크(Spring framework)의 탄생 배경 (feat. CGI, Servlet, JSP, J2EE, EJB) - 2편 자 드디어 스프링의 탄생이 코앞까지 왔습니다. 1편, 2편을 요약해서 다시 한번 스프링의 탄생으로 이어지는 순서만 되짚어볼까요? HTTP통신으로 정적인 데이터만 전송 서버와 통신하여 동적으로 페이지를 보여줄 수 있는 개념의 인터페이스 CGI(Common Gateway Interface) 등장 자바(Java)버전 CGI라고 불리는 서블릿(Servlet)..

    [Spring] 스프링 프레임워크(Spring framework)의 탄생 배경 (feat. CGI, Servlet, JSP, J2EE, EJB) - 2편

    아직 1편을 안보셨다면 1편을 보고와주세요! 1편에서 다룬 얘기를 요약하면 다음과 같습니다 태초에 Web이 있었다 이 때는 HTTP(Hyper-Text Transfer Protocol) 전송규약에 따른 정적인 데이터(HTML,XML,이미지 등)만 전달할 수 있었다. 하지만 웹이 발달하면서 사용자가 입력하는 걸 처리해서 다시 화면에 보여주는 동적인 페이지가 필요하게 되었다. 이때 등장한것이 CGI(Common Gateway Interface) 다. 당연하게도 CGI에는 장단점이 있었고, CGI에서 단점을 보완하고 자바(Java)로 웹을 구동할 수 있는 서블릿(Servlet)이 등장했다. 아직 멀었지만 그래도 점점 스프링(Spring)과 가까워져가는 것을 느끼시나요? 그럼 서블릿과 항상 함께 등장하는 JSP..

    [Spring] 스프링 프레임워크(Spring framework)의 탄생 배경 (feat. CGI, Servlet, JSP, J2EE, EJB) - 1편

    [Java] 자바(Java)의 역사에서 자바의 탄생 배경을 알아보았었죠~! 정말 간단하게 요약하자면 하드웨어를 위한 언어로 시작해서 나중에는 웹 개발을 할 때 쓰이는 대표적인 언어로 자리잡았습니다. 지금이야 자바로 웹 개발을 할때 스프링(Spring), 스프링 부트(Spring Boot) 등의 자바 프레임워크를 사용하는 게 당연하지만, 처음부터 그랬을까요? 오늘은 이 스프링 프레임워크가 어떤 과정과 시행착오를 거쳐 만들어지게 됐는지 알아보겠습니다! 태초의 웹(Web)의 역할 처음 웹이 등장했을 때는 HTTP(Hyper-Text Transfer Protocol) 전송규약에 따른 정적인 데이터(HTML,XML,이미지 등)를 전달하는 것만으로도 충분했습니다. 물론 페이지는 보여줄 수 있지만 유저가 어떤 입력을..

    [Spring] POJO (Plain Old Java Object) 란?

    POJO, 자바나 스프링 프레임워크를 다뤄보았다면 어디선가 본거같기도 하고 들어본거같기도 한 그런 단어입니다. 오늘은 이 POJO에 대해 알아보겠습니다! POJO는 Plain Old Java Object를 줄여쓴 말로, 제 특기인 직역을 하면 평이하고(아무것도 꾸며지지 않은) 오래된 자바 객체입니다. 일상 생활에서 자주 보이는 플레인(Plain) 요거트에서도 쓰이는 Plain 이죠. POJO 라는 단어의 탄생 POJO는 2000년 9월에 마틴 파울러(Martin Fowler), 레베카 파슨스(Rebecca Parsons), 조쉬 맥킨지(Josh MacKenzie) 가 사용하기 시작한 용어로서 Java EE 등의 중량 프레임워크들을 사용하게 되면서 해당 프레임워크에 종속된 무거운 객체를 만들게 된 것에 반..

    [Spring Boot] 스프링부트 프로젝트 생성 (gradle)

    오늘은 스프링부트(Spring Boot) 프로젝트를 생성하는 방법에 대해 설명하려고 합니다~! 대표적으로 Spring initializr 에서 원하는 설정으로 프로젝트를 빌드하고, 빌드된 프로젝트를 압축 파일로 다운받고 IDE에서 해당 프로젝트 파일을 불러오는 방법이 있죠. 하지만 intelliJ 에서 바로 간단하게 Spring Boot 프로젝트를 생성해보겠다. (사실 과정은 별반 다를게 없다) 프로젝트 생성 1. 프로젝트 새로 생성하기를 누른후 메뉴에서 Spring Initializr를 선택한다 Project SDK에서 JDK 버전을 선택 서비스 URL은 기본값인 http://start.spring.io 를 사용한다 2. 아래 항목을 선택 또는 입력한다 Group: GroupId는 자신의 프로젝트를 식..