개발자_이훈규
천천히, 빠르게. 개발자의 Repository
개발자_이훈규
전체 방문자
오늘
어제
  • 분류 전체보기 (473)
    • 티스토리 (4)
    • 개발자 뉴스 (2)
    • 소프트웨어 (203)
      • C (7)
      • c++ (25)
      • Objective-C (3)
      • Do it! 반응형 웹디자인 (4)
      • openGL (8)
      • Java (24)
      • Jni (3)
      • Android (9)
      • Wordpress (2)
      • 버그 만난 후 느낀점 (2)
      • Git (3)
      • node js (2)
      • window tablet (1)
      • HTML (3)
      • javascript (3)
      • perl (1)
      • AngularJS (0)
      • JSON (0)
      • Docker (3)
      • python (5)
      • jQuery (1)
      • MFC (4)
      • cocos studio (6)
      • Golang (1)
      • SQLite3 (0)
      • Spring Boot (8)
      • thymeleaf (0)
      • Django (0)
      • iOS (3)
      • skia (0)
      • VBA (0)
      • PHP (2)
      • Oracle (1)
      • JSP (0)
      • R (0)
    • TCP IP (2)
    • 금융 (0)
      • 금융 Study (0)
      • 금융 Archive (0)
      • 금융 Article (0)
    • 개인 프로젝트 (7)
      • gif 홈페이지 만들기 (0)
      • study app만들기 (0)
      • 크롤러 만들기 (1)
      • 카툰 홈페이지 만들기 (1)
      • 외주 홈페이지 만들기 (3)
      • 웹 홈페이지 만들기 (0)
      • 미디어 서버 만들기 (0)
      • 소개팅 어플 만들기 (0)
      • 인스타그램 풀스택 클론 코딩(인강 노트) (0)
      • 주식 모의거래 만들기 (1)
    • html php mysql (0)
    • node.Js (2)
    • 일상 (2)
    • 빈공간 uml 공부 (0)
    • Ubuntu(linux) (12)
    • 맥OS (10)
      • android 설치하기 (2)
    • Programming quizzes (0)
    • IoT (구 유비쿼터스) (16)
      • 라즈베리 파이 (11)
      • 아두이노 (5)
    • 하드웨어 (5)
      • 아수스 비보탭 노트8 asus vivotap no.. (2)
      • 크레마 카르타 (3)
    • 분석할 문장, 구문, 코드 (0)
    • 키보드 (1)
      • 해피해킹 (1)
    • 코드 라이언 (0)
    • 전자기기 (4)
    • Ted (0)
    • NAS (0)
    • 알고리즘 (0)
    • 연합인포맥스 (0)
    • 이벤트 응모함 (4)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • Example
  • 개발
  • 예제
  • ubuntu
  • C++
  • 라즈베리 파이
  • 방법
  • install
  • 에러
  • Java
  • CODE
  • 우분투
  • Python
  • 설명
  • GIT
  • 코드
  • error
  • 설치
  • 소스
  • C

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
개발자_이훈규

천천히, 빠르게. 개발자의 Repository

소프트웨어/Spring Boot

[spring boot] intro

2017. 9. 10. 12:39

1. spring 배경

EJB(Enterprise JavaBeans)에서 문제가 되었던 부분을 해결하기 위해 비 침투적인(non-invasive) 방식을 도입하였고, 엔터프라이즈 애플리케이션 개발을 좀 더 쉽게 하기 위한 목적으로 만듦.


ref. https://scroogy.atlassian.net/wiki/spaces/SPRING/pages/8847424


이 때, 오픈 소스 프로젝으로 스프링이 나왔음. 스프링은 ejb 를 쓰지 않고도 엔터프라이즈급 어플리케이션 개발이 가능하도록 하기 위해 나온 것임. (ejb3 스펙은 사용하기에 많이 쉬워졌지만 이미 그 이전에 스프링이 나오면서 널리 확산되어 쓰이기 시작함) 결국 당시에 복잡했던 ejb 를 사용하지 않아도 되고, 그냥 j2se 를 사용하면서 트랜젝션과 보안도 지원 받을 수 있고, java Beans 스펙에 정의된 재사용성도 보증해 주는 프레임웍으로 탄생한 것. 


ref. http://bobr2.tistory.com/entry/스프링-프레임웍의-탄생배경


Spring은 Java 기반의 프레임워크로서 여러 모듈로 구성되어있다. 하지만 Spring은 단순 프레임워크를 넘어 자신만의 철학을 지닌다. 즉, 프레임워크와 철학을 합쳐 Spring이라 부른다. Spring은 일종의 Container 역할을 하는 프레임워크로 사용자가 필요한 모듈을 꽂아 사용할 수 있게 해준다. “틀이 되어 주겠다.”


ref. https://kisukpark.wordpress.com/2013/08/29/spring-mvc-%EA%B8%B0%EB%B3%B8-%EA%B0%9C%EB%85%90/


스프링을 공부하다 보면 경량 컨테이너라는 개념을 챙겨야하는데, 경량 컨테이너라는건 아래 설명을 참고하고, 대표적으로 사용되는 경량 컨테이너는 Docker가 있지.


WAS에서 Container 3개를 띄워서 사용중인 것도 이 경량 컨테이너 개념이야.

컨테이너란? 

Spring은 하나의 프레임워크이다. 그런데 왜 Spring 컨테이너, IoC 컨테이너라는 말을 사용할까? 그렇다면 컨테이너의 정의는 무엇인가?


Servlet 컨테이너, EJB 컨테이너라고 말하는 것을 종종 들어봤을 것이다. 컨테이너는 보통 인스턴스의 생명주기를 관리하며, 생성된 인스턴스들에게 추가적인 기능을 제공하도록하는 것이라 할 수 있다. 

다시말해, 컨테이너란 당신이 작성한 코드의 처리과정을 위임받은 독립적인 존재라고 생각하면 된다. 컨테이너는 적절한 설정만 되어있다면 누구의 도움없이도 프로그래머가 작성한 코드를 스스로 참조한 뒤 알아서 객체의 생성과 소멸을 컨트롤해준다. 


ref. http://limmmee.tistory.com/13


마지막으로 DI(Dependency Injection) 개념만 더 챙기면 나머지 Bean이나 다른 것들은 어렵지 않게 넘길 수 있을듯.


DI는 일단 이 블로그를 참고하면 느낌은 올거야. 나머지는 실습해보면서 익히면 될듯함

http://private.tistory.com/39



2. 눈에 익혀두면 괜찮은 자료


아래 것들은 그냥 정독을 한 번만 해도 뼈가되고 살이 되는 자료들인것 같아

이런 자료들을 몇 번만 살펴보면 전체적으로 어떻게 돌아가는지 이해가 갈 수도 있어


Spring boot와 docker를 이용한 msa -slideshare

Spring Framwork - Feature, module에 대해서



3. 추천 도서


1) spring계의 수학의 정석급 책

토비의 스프링(교보문고 링크) - 총 2권이지만 1권만 읽어도 충분하다는 평가. 엄청 심도있다.


2) spring boot을 한다면,

가장 빨리 만나는 스프링 부트 (교보문고 링크) - 이거 읽고나면 이전에 말한 웹 프로젝트를 만들어서 가볍게 해볼 수 있어



내가 보유하고 있는 책이 가장 빨리 만나는 스프링 부트, 스프링 인 액션(교보문고 링크), 스프링 4 코딩공작소(교보문고 링크)가 있으니 필요하면 카톡하고



4. 마지막으로


만약에 가볍게 '프로젝트 하나 해봐야지'라고 생각하면 spring boot를 하고, 제대로 한번 만들어봐야지 하면 spring을 하고.

왜냐하면 Spring을 깊게 하려면 러닝커브가 좀 있는데 그 복잡도를 확 낮춰서 만들어 놓은게 Spring boot니깐 Spring boot로도 맛은 볼 수 있어


저작자표시 (새창열림)

'소프트웨어 > Spring Boot' 카테고리의 다른 글

[Spring Boot] maven install and build.  (0) 2016.07.13
[Spring Boot] maven install and build.  (0) 2016.07.07
[Spring Boot] spring boot java.lang.RuntimeException: java.lang.reflect.InvocationTargetException  (0) 2016.07.06
[Spring Boot] Create and Play project  (0) 2016.07.06
[Spring Boot] init project  (0) 2016.07.05
    '소프트웨어/Spring Boot' 카테고리의 다른 글
    • [Spring Boot] maven install and build.
    • [Spring Boot] maven install and build.
    • [Spring Boot] spring boot java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
    • [Spring Boot] Create and Play project
    개발자_이훈규
    개발자_이훈규
    혼자 꽁양꽁양 개발하면서 놀아요~ - 노트같은 블로그

    티스토리툴바