Spring 개요

세모네모동굴배이·2021년 4월 26일
0
post-custom-banner

Spring

  1. 회원가입, 게시판, 댓글, 로그인, 세션 처리
    : 페이징 이동 : ???
    : 클래스 이동
    : 데이터 베이스 ISUD

  2. 웹브라우저 를 이용해서 CGI 프로그램 형태로 웹 어플리케이션을 만든 것 이다.
    : 이 행위를 이해하고 만들 수 있어야
    : 회사 가서 안 그만두기

  3. 웹 개발자 : Web Developer : 풀 스택 개발자 : full stack developer : 17년

  1. 공부 :
    웹 어플리케이션
    불특정 다수 : 웹 어플리케이션
    특정인 : 비즈니스 웹 어플리케이션

웹 서비스
불특정 다수 제공 서비스 :
특정이 제공 서비스 : RESTFull : OPEN API : GET 방식에 인증키를 사용해서 서비스를 받는 것

웹서버 : 시스템 엔지니어, 네트웍 엔지니어
서블릿 컨테이너 : 시스템 엔지니어, 네트웍 엔지니어
웹 브라우저 : 응용프로그램
자바 : 하이레벨 언어
데이터 베이스 : DAB
프로토콜 : 시스템 엔지니어, 네트웍 엔지니어
이클립스 : IDE

이 것을 혼자 다 하고 있다.

위 기반위에서 소프트 웨어를 만드는 사람들이다.

coreJava
JDBC
Consol Application
Oracle Query
HTML
CSS
JavaScript : ECMASript3, ECMASript5, ECMASript6
jQuery
Ajax
XML
JSON
el
jstl
jsp
Servlet
MODEL 1
MODEL 2
MODEL 2 + MVC

위 의 방식으로
웹 어프리케이션을 만들어서 사용 했다.
근 20년 동안

웹 어프리케션
USER 10명

USER 만명

USER 10만명
그로벌 기업 : 전 세계에 지사가 있다. 60개 국에 있서
전체가 같은 프로그램을 사용해야 한다. : 일부를
나라마다 머신 이 다르고 : IMB UNIX, HP UNIX, COMPAC UNIX, linux, NT : 이 기종 플랫폼
나라마다 O/S가 다르다 : java, C, C++ .... : 이기종 언어

이 것을 해결 하기 위해서 
java : EJB : Enterprise Java Beans : 이기종 플랫폼 이기종 언어에서 통신 가능하게 하는 기술 
			이 기술이 엄청 어려워 

	겨울 

이 것을 대체하는 기술이 나온다. 
struts : 스트러츠 : XML 을 사용하는 기술 

###########################################################

스프링 : Spring : 봄
스프링 프레임워크 : Spring Framework
struts 기수을 포함해서
ORM

금융
공공 : 조달청 : 프로젝트를 공시 : 전자정부프레임워크 2010년 : 스프링 표준 기술 : 2021년
조달청 : 프로젝트를 입찰 하려면 : 전자정부프레임워크의 표준에 준해야 한다.
오픈소스 로 가고 있다.
대기업
이커머스


스프링은
21개의 *.jar : puer java

coreJava : rt.jar
JDBC : ojdbc6.jar
jsp : jsp-api.jar , servlet-api.jar
file upload : cos.jar
썸네일 : jai_codec.jar, jai_core.jar
메일 : mail-1.4.7.jar

스프링 사이트
https://spring.io/tools

spring framework library
https://repo.spring.io/release/org/springframework/spring/

Spring 1
Spring 2 : 한국 기업에는 Spring 2.5 버전부터 적용되어 있다.
Spring 3 : 한국 기업에서 사용하는 대부분의 버전
Spring 4 : 일부 적용되어 있다
Spring 5

전자정부 프레임워크
https://www.egovframe.go.kr/home/main.do

3.10
3.9
3.8
....
3.2

Spring API : 3.2.4, 3.2.8, 3.2.9, 4.3.16

C:\Users\kosmo_teacher>cd C:\00.KOSMO78\90.download\spring\spring-framework-3.2.9.RELEASE\libs-
C:\00.KOSMO78\90.download\spring\spring-framework-3.2.9.RELEASE\libs->del s-javadoc.jar
C:\00.KOSMO78\90.download\spring\spring-framework-3.2.9.RELEASE\libs->del s
-sources.jar

스프링 특징 (IoC, DI, AOP)
0. POJO(Plain Old Java Object) library 21EA
2014-05-20 오전 04:30 337,844 spring-aop-3.2.9.RELEASE.jar
2014-05-20 오전 04:32 51,459 spring-aspects-3.2.9.RELEASE.jar
2014-05-20 오전 04:30 612,952 spring-beans-3.2.9.RELEASE.jar
2014-05-20 오전 04:32 73,056 spring-build-src-3.2.9.RELEASE.jar
2014-05-20 오전 04:31 866,490 spring-context-3.2.9.RELEASE.jar
2014-05-20 오전 04:31 128,639 spring-context-support-3.2.9.RELEASE.jar
2014-05-20 오전 04:30 884,780 spring-core-3.2.9.RELEASE.jar
2014-05-20 오전 04:30 196,405 spring-expression-3.2.9.RELEASE.jar
2014-05-20 오전 04:32 6,227 spring-framework-bom-3.2.9.RELEASE.jar
2014-05-20 오전 04:30 7,222 spring-instrument-3.2.9.RELEASE.jar
2014-05-20 오전 04:32 10,338 spring-instrument-tomcat-3.2.9.RELEASE.jar
2014-05-20 오전 04:31 405,804 spring-jdbc-3.2.9.RELEASE.jar
2014-05-20 오전 04:32 206,152 spring-jms-3.2.9.RELEASE.jar
2014-05-20 오전 04:32 385,456 spring-orm-3.2.9.RELEASE.jar
2014-05-20 오전 04:31 75,960 spring-oxm-3.2.9.RELEASE.jar
2014-05-20 오전 04:32 36,157 spring-struts-3.2.9.RELEASE.jar
2014-05-20 오전 04:32 458,141 spring-test-3.2.9.RELEASE.jar
2014-05-20 오전 04:31 242,415 spring-tx-3.2.9.RELEASE.jar
2014-05-20 오전 04:31 632,855 spring-web-3.2.9.RELEASE.jar
2014-05-20 오전 04:32 637,940 spring-webmvc-3.2.9.RELEASE.jar
2014-05-20 오전 04:32 188,110 spring-webmvc-portlet-3.2.9.RELEASE.jar

  1. 필요한 인스턴스를 스프링에서 미리생성해 준다 : IoC : Inversion of Control : 역 제어
    Class c = new Class(); <-- 개발자가 소스를 구성하면 JVM 이 인스턴스 한다(컴파일 해서 메모리에 올려준다).

    스프링에서는 클래스를 컴포넌트 : 빈 이라고 지칭한다.
    IoC :
    클래스 인스턴스를 빈을 메모리에 올리는 행위를
    개발자가 하는 것이 아니고 스프링 프레임워크에서 해준다.
    빈 컴포넌트는 new 연산을 하지 않는다.

    클래스 인스턴스 : 빈 컴포넌트 인스턴스 
    빈 컴포넌트의 네임 스페이를 xml에 기술하고 
    해당 xml 을 읽어서 빈 컴포넌트를 메모리에 올릴 수 있다.
  2. 스프링 DI : Dependency Injection : 의존성 주입
    변수에 값을 세팅하는 동작 : 최초 초기화, 바인딩
    개발자가 코드를 하면 JVM 이 규칙에 따라 바인딩 해준다.
    setter 함수로 초기화를 한다.
    Contructor로 초기화 한다.

    스프링에서
    변수에 값을 초기화하는
    것을 개발자가 하는 것이 아니고 스프링에서 한다.
    setter 함수 또는 Contructor 를 사용한다.

  3. 클래스 사이의 결합 : loosely coupled

  4. AOP

post-custom-banner

0개의 댓글