Spring MVC, Sptring boot 13

Scheduling Tasks

Spring guide (스프링 가이드 실습) https://spring.io/guides/gs/scheduling-tasks/ ▶ 학습목표 1. Spring 을 이용하여 기본적인 스케쥴링을 할 수 있다. ▶ Dependency - build.gradle 더보기 plugins { id 'org.springframework.boot' version '2.6.1' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' } group = 'com.example' version = '0.0.1-SNAPSHOT' sourceCompatibility = '1.8' repositories { mavenCentral() } dependencies..

Spring bean Scope - Singleton vs Prototype 에 대한 간단 테스트

Spring 문서 https://docs.spring.io/spring-framework/docs/3.0.0.M3/reference/html/ch04s04.html 4.4 Bean scopes The other scopes, namely request, session, and global session are for use only in web-based applications (and can be used irrespective of which particular web application framework you are using, if indeed any). In the interest of keeping related concepts docs.spring.io 오해한것 ? Prototype 은 ..

Validating Form Input

Spring guide (스프링 가이드 실습) https://spring.io/guides/gs/validating-form-input/ ▶ 학습목표 1. 멤버변수를 갖는 클래스를 파라메터로 하여 템플릿코드에 해당 클래스의 값을 사용하도록 한다. 2. @Valid 어노테이션을 통해 파라메터값의 validation 을 체크하도록 한다. ▶ Dependency - build.gradle 더보기 plugins { id 'org.springframework.boot' version '2.5.4' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' } group = 'com.example' version = '0.0.1-SNAPSHOT'..

Handling Form Submission

Spring guide (스프링 가이드 실습) https://spring.io/guides/gs/handling-form-submission/ ▶ 학습목표 1. model.addAttribute 에 멤버변수 클랙스를 이용하여 값을 주고 받을 수 있다. 2. @ModelAttribute 어노테이션을 통해 Form 값의 파라메타를 받을 수 있다. ▶ Dependency - build.gradle 더보기 plugins { id 'org.springframework.boot' version '2.5.4' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' } group = 'com.guides' version = '0.0.1-SNAPS..

[Spring Boot] 배포 어떤걸로? JAR or WAR

이 글은 제가 알고 있는 지식내에 있는 내용입니다. (즉, 뇌피셜일수도) 내용은 공식문서를 최대한 확인하는 방식으로 체크했습니다. (나름 오피셜일수도) ■ 스프링 부트를 시작 할려고 https://start.spring.io/ 사이트에 들어갔는데.... 결정장애를 일으키는 선택지... Packaging ● Jar ○ War 웬지 모르지만, Jar 가 디폴트이니 그냥 넘어가고 싶은데... (난 War 가 익숙하고..) ■ 제가 Jar 인지 War 인지 뇌피셜(나름 오피셜)로 결정해 드립니다. * 내가 개발자고, 난 소스만 형상관리(git,svn) 에 올리면 되는 개발자라면,, 고민하지 말고,, 아무거나 선택하시고 개발에 전념하시는게.. ■ 왜 Jar 가 Default 인가 ? (뇌피셜일수도) Spring ..

[AOP] 관점지향 프로그래밍 (도서참고)

더보기 AOP Study by '스프링 입문을 위한 자바 객체지향의 원리와 이해 Chapter 07. ▶ Spring Documentation - https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#aop Core Technologies In the preceding scenario, using @Autowired works well and provides the desired modularity, but determining exactly where the autowired bean definitions are declared is still somewhat ambiguous. For example, as a dev..

Spring DI / IoC 를 설명하자

학습목표 : Spring DI / IoC 에 대한 개념을 이해해 보자 1. 자바 개념에서의 설명 자바소스 - 커피는 외부 클래스를 만들어서 사용한다. - 이때 외부 클래스를 사용하는걸 외부 클래스에 의존(Dependency) 한다고 한다. - 자바 소스에서는 대부분 이렇게 사용하고자 하는 클래스를 new 로 생성해서 사용한다. package team._springdi.ver1; /** * Dependency 의존관계 * 모닝커피를 마시자. 스벅에서 * 주문을 한다. ( 메뉴는 1-아메리카노 , 2-돌체라떼, 3-카푸치노 ) * * @author PC * */ public class Mver1 { public static void main(String[] args) { /* 외부 클래스 커피에 의존(Dep..

[모델1, 모델2] Web - Java , Model 1, Model 2, Spring MVC

학습목표 : 웹 개발에 사용되는 방법론 Model 1, Model 2, Spring MVC 를 이론적으로 이해한다. 1. Model 1 (모델 1) - Client & Server 의 관계를 정립하자. 2. Model 2 (모델 2) - Client & Server 에서 Model 과 View 부분을 분리하자 3. Spring MVC - 내가 MVC 를 구현해 줄게.. 4. 클래스 구성의 변화로 본 MVC 모델 5. Keyword 로 보는 Spring framework 구성 마치며.. 프로그램 개발 방법론에서의 Mode1, Model2 MVC 는 말 그대로 이론적인 방법론을 이야기한다. 해당 방법론으로 어떻게 개발할지는 개발자들의 자유이다. Spring MVC Framework 는 개발 프레임(틀)을 제..

[IoC , DI] 개념잡기

학습목표 : Ioc, DI 개념을 잡는다. DI 의 Autowired 는 객체의 생성자, setter 함수를 통해서 Injection 된다. 이 한장의 그림. Ioc(Inversion of Control) - 자바 프로그램을 개발할때 개발자는 필요한 시점에 객체를 생성하고, 필요한 부분에 해당 객체를 주입(Injection) 한다. 해당 객체의 Life Cycle 을 개발자가 프로그램하면서 제어하는 방식이었다. Spring Ioc 컨테이너는 필요할 할것으로 생성되는 객체들을 싱글톤으로 생성하여 컨테이너에 넣었다가, 개발자가 필요로 하는 시점에 가져다 사용하기만 하면 된다. 이렇게되면, 해당 객체의 제어는 개발자가 하는것이 아닌 스프링 컨테이너(IoC)가 하게된다. 즉, 제어권이 개발자가 아닌 스프링 프레..

[Team Study] [싱글톤 XML ver] 스프링 싱글톤에 대한 단순한 고찰

학습목표 : 스프링에서의 싱글톤의 의미를 이해하고, 실제 단순한 구현을 한다. Q) 스프링의 빈들이 싱글톤인 이유? A) 스프링은 자바엔터프라이즈개발을 위한 프레임워크다. 이 말인 즉슨, 사용자가 많다는 얘기. 그 많은 사용자가 요청할 때마다 새로운 객체를 생성해서 제공하는 것은 비용이 크기 때문에 기본적으로 싱글톤으로 객체의 갯수를 제한한다. * 솔직하게 왜 스프링이 싱글톤을 사용하는지 잘 모르겠음... 좀더 공부가 필요 * 단지 스프링이 싱글톤을 사용하는 방법에 대해 공부하고자 함. 1) 스프링 컨테이너의 종류 2가지 (자세한 설명 블로그 - velog.io/@ehdrms2034/Spring-MVC-Application-Context.xml ) - Bean Factory와 이를 상속한 Applicat..