JAVA Back-End/Spring (6)
-
스프링과 객체지향, SOLID
스프링 프레임워크 핵심 기술 스프링 DI 컨테이너, AOP, 이벤트 , 등 웹 기술 스프링 mvc , 스프링 webflux 데이터 접근 기술 트랜잭션 처리, JDBC, ORM지원, XML지원 기술 통합 캐시 , 이메일, 원격접근, 스케줄링 테스트 스프링 기반 테스트 지원 언어 자바, 코틀린, 그루비 스프링 부트 프레임워크 최근 스프링부트를 사용해 스프링 프레임워크의 기술들을 편리하게 사용. 최근엔 기본으로 많이 사용한다 단독으로 실행할 수 있는 스프링 애플리케이션을 쉽게 생성 tomcat같은 웹서버를 내장함. 그래서 별도 웹 서버를 설치할 필요 없다. 손쉬운 빌드 구성을 위한 starter 종속성 제공 스프링과 3rd parth(외부) 라이브러리 자동 구성 관례에 의한 간결한 설정 '스프링'..
2023.03.28 -
[Spring] Spring MVC
Model - View - Control 패턴 파란색 박스 : Spring이 제공해주는 것들 보라색 박스 : 개발자가 만들어야 하는 부분 녹색 박스 : Spring이 제공해주기도 하고 개발자가 만들어야 하는 부분도 있다. Spring은 보통 웹프레임워크가 Front Controller패턴(맨 앞단에서 컨트롤러가 진두지휘하는)을 가집니다. (DispatcherServlet 클래스가 Front Controller) 예외 처리도 이 DS클래스가 맡아서 합니다. request 선처리 작성 시 사용 Component org.springframework.web.servlet.LocaleResolver - 지역 정보 결정 org.springframework.web.servlet.FlashMapManager - Fla..
2019.06.08 -
[Spring] Spring JDBC
기존 포스트에서 JDBC 프로그래밍을 하기 위해서 low-level에서는 Driver를 로딩해 접속하고, RequestStatement 객체도 얻어내고, 쿼리문을 만들고, select검색처럼 결과가 있으면 결과를 받기위한 Resultset객체를 가져오고...블라블라.....(생략..) 이러한! 반복적인 low-level작업을 스프링 프레임워크가 대신 처리합니다! Spring JDBC 스프링 JDBC를 사용할 때, 개발자가 스프링에게 해줘야 할 일은? 스프링이 해주는 일 개발자가 해야할 일 연결 parameter 정의 연결 open SQL문 지정 parameter 선언과 parameter 값 제공 statement준비와 실행 statemenet결과가 존재하면(select같은..) 결과를 반복하는 loop ..
2019.06.07 -
[Spring] xml파일을 이용한 Spring설정
eclipse에서 Maven Project를 생성. (IDE : eclipse / Build도구는 Maven으로 하겠습니다) Group Id는 패키지 이름으로 사실 네이밍이 굉장히 중요하지만 kr.or.connect으로 간단히 예제용으로 짓고, Artifact Id는 프로젝트 이름 diexample01 이렇게 임의로 우선 만들어서 생성합니다! 프로젝트가 생성되면 pom.xml을 먼저 열어서 ... 태그를 추가해서 jdk1.8을 사용하도록 합니다. 보통 1.5로 디폴트 세팅이 되어 있는 경우가 많습니다. org.springframework 스프링 프레임워크 dependency를 추가해주시고! properties의 4.3.14.RELEASE을 추가 해줍니다. properties에 등록된 태그는 상수처럼 사용..
2019.05.18 -
[Spring] IoC / DI 컨테이너
컨테이너? IoC (Inversion of Control)? DI (Dependency Injection)? 컨테이너의 역할 인스턴스의 생명주기를 관리합니다 생성된 인스턴스들에게 추가적인 기능을 제공합니다. 예로, Servlet클래스에서 정의하긴 하지만 실제 인스턴스화(new)는 Tomcat이 대신해줬습니다. -> 개발자가 작성한 Servlet클래스를 실제 메로리에 올려 실행하는 것은 WAS의 Servlet컨테이너가 해줍니다. WAS는 Servlet컨테이너를 가지고 있다고 말합니다. IoC란? (제어의 역전) Inversion of Control. Inversion은 역전이라는 뜻. 컨테이너가 코드 대신 인스턴스의 제어권을 가지고 있어서 IoC(제어의 역전)이라 합니다. 개발자는 프로그램 흐름을 제어하는..
2019.05.16 -
[Spring] Spring Framework?
프레임워크(Framework) 프레임워크는 어떤 완제품이 아닌 반제품으로, 내가 반제품을 이용해서 내가 원하는 애플리케이션을 만들 수 있습니다. 프레임워크는 라이브러리는 기본으로 들어가고 그것들을 돌아가는 환경입니다. 프레임워크의 약속들을 따르면서 개발을 하고, 자원의 소모가 크니 잘 알고 써야합니다. Spring Framework - Enterprise급 애플리케이션을 구축할 수 있는 솔루션. - 원하는 부분만 가져와 사용할 수 있도록 모듈화. - IoC 컨테이너 - 선언적 트랜잭션을 관리할 수 있음 - 완전한 기능을 갖춘 MVC 프레임워크를 제공 - AOP 지원 - 도메인 논리 코드와 쉽게 분리될 수 있는 구조 Framework 모듈 스프링 프레임워크는 20개 정도의 모듈로 구성되어 있습니다 필요한 ..
2019.05.16