본문 바로가기
Spring

Spring 시작(start.spring)

by code2772 2022. 12. 6.

[ 목차 ]

    728x90
    반응형
    ✔ Spring 들어가며
    
    https://start.spring.io/ - 자바 스프링 사용 무료
    
    🔏 실행 예)
    Project - Gradle - Groovy
    Language - Java
    Spring Boot - 3.0.0 OR 2.7.6 (SNAPSHOT은 테스트 버전으로 이게 없는것을 선택하자)
    Project Metadata
       Group - com.koreait(쓰고 싶은내용)
       Artifact - day1
       Name - day1
       Description - Demo project for Spring Boot
       Package name - com.koreait.day1
       Packaging - Jar
       Java - 11(내가 11을 쓰고있다)
    
       File -> open -> spring -> build.gradle or 패키지 전체

     

     

     

    ✔EJB(Enterprise Java Beans)
       - 동시 접속자수가 10000명이상 사이트 구축시 고려하는 컴퍼넌트 기술
       - 속도는 느리지만 많은 이용자수를 감당할 수 있음
       - 안정적인 트렌젝션이 필요한 사이트 구축시 사용
       - ZEUS, Weblogic
    
    
    ✔ Spring
       - 크기와 부하 측면에서 경량급 프레임워크
       - EJB 대체
       - 현재 표준 기술
        - EJB가 없어도 충분히 확장 가능한 웹어플리케이션을 개발할 수 있음을 보여주는 예제 코드가 등장(로드존슨)
        - 유겐휠러(with 얀카로프)의 주도로 오픈 소스 프로젝트인 스프링 프로젝트가 시작
    
          🔏 스프링 역사
            2003년 스프링 프레임워크 1.0 출시(xml 기반의 설정)
            2006년 스프링 프레임워크 2.0 출시
            2009년 스프링 프레임워크 3.0 출시(자바 코드로 설정)
            2013년 스프링 프레임워크 4.0 출시(자바 8)
            2014년 스프링 부트 1.0 출시
            2017년 스프링 프레임워크 5.0 스프링 부트 2.0 출시
            ...
    
          🔏 스프링 생태계
    
            스프링 프레임워크 + 스프링 부트            스프링 데이터, 스프링 세션
            --------------------------      --->  스프링 시큐리티, 스프링 Rest Docs
                        필수                       스프링 배치, 스프링 클라우드

     

    ✔ spring boot(스프링 부트)
        - 스프링을 편리하게 사용할 수 있도록 지원(최근에는 기본으로 사용)
        - 단독으로 실행할 수 있는 스프링 애플리케이션을 쉽게 생성
        - Tomcat 같은 웹서버를 내장하기 때문에 별도의 웹 서버를 설치하지 않아도 됨
        - 스프링과 3rd party(외부) 라이브러리 자동 구성
    
        🔏 스프링의 핵심 개념
        - 자바언어 기반의 프레임워크 -> 자바는 객체지향 언어 -> 스프링은 객체 지향 언어가 가진 강력한
          특징을 살려내는 프레임워크
    
        🔏 객체 지향 특징
          - 추상화
              클래스. 중요한 특징점을 잡아 추상화하는 과정
          - 캡슐화
              객체의 속성을 보호하기 위홰 사용. 각 메소드를 서로 관련있게 생성
          - 상속
              하위로 내려갈수록 객체를 구체화시킴
          - 다형성
              하나의 객체가 여러개의 형태로 변환. 오버라이딩을 통해 구현
    
        🔏 객체 지향 프로그래밍의 좋은 형태
           - 유연하고 변경이 용이
    
        🔏 다형성
                역할과 구현을 분리
    
                클라이언트           API                 서버
                    사용자 리스트 ----------------->     MySQL -------> ORACLE
                               <----------------
    
    
    
                                자동차 엔진
    
            아반떼            k3            소나타       k5
    
    
                                 여자친구
                        애인역할            와이프역할
                        김사과                반하나
    
    
    
        🔏 좋은 객체 지향 설계의 5가지 원칙
        (로버트 마틴이 정리한 좋은 객체 지향 설계의 5가지 원칙)
        - SRP : 단일 책임 원칙
        - OCP : 개방-패쇄 원칙
        _ LSP : 리스코프 치환 원칙
        - ISP : 인터페이스 분리 원칙
        - DIP : 의존관계 역전 원칙
    
    반응형