2015년 7월 16일 목요일

신입SW인력을 위한 실전 자바(Java) 스프링(Spring) 동영상과정01~02 스프링에 대해서, 프로젝트 만드는방법

이 게시물은
http://www.wiz.center/231
http://www.wiz.center/232
해당 링크를 청취하고 작성한 글입니다.

본인 이해도 확인을 위해서 작성한 것이니
스프링에 대해서 알고 있다면 쑥 훝어보고 끝내시고

좀 깊게 알고 싶다면 위의 링크부터 시작해서
총 30개 강의로 이루어진 스프링 과정을 청취하세요


1. 프레임워크
   특정한 목적에 맞게 프로그래밍시 미리 정한 약속
    한국에서는 Spring Framework 가 많이 쓰인다.
   어떤 업무나 넓은 범위의 제약을 프로그래밍 문법상으로
    제약해놓은것.


2. 스프링 프레임워크
   자바 언어를 기반, 어플리케이션 제작을 목적으로 한 틀
     이전 EJB를 개선함.
   선행으로 Java, JSP&Servlet, (MVC, Model1,2)
     그리고 HTML, javascript, jquery, css .... 등 스크립트 언어
     이해가 필요함
   이중 JSP&Servlet 은 하단 링크를 참고
     http://magmajjame.blogspot.kr/2015/07/spring-mvc.html


3. 설치방법
   하단 링크를 참고
     http://magmajjame.blogspot.kr/2015/07/spring-framework-eclipsests-mysql-svn.html
     강의에서는 Eclipse + Plug-in 을 설치하는 방법으로 환경을 구축함
     하지만 보통 STS를 까는게 더 편함.


4. 프로젝트 생성해보기(Eclipse의 IDE 동작 여부를 확인함)
   new -> project -> spring project -> 프로젝트 이름 입력
     -> spring spring maven 선택 및 완료 -> 생성됨

-------------------------------
작성1. src 밑에 다음 java 코드를 작성(main)
         여기에서는 Eclipse Spring Maven IDE가 돌아가지는지만
         확인한다. (그냥 java 파일로 해도되고, java IDE로도 가능함)

package com.javalec.ex;

public class MainClass {
 public static void main(String[] args) {
  MyCalculator myCalculator = new MyCalculator();
  myCalculator.setCalculator(new Calculator());
  myCalculator.setFirstNum(10);
  myCalculator.setSecondNum(2);
  myCalculator.add();
  myCalculator.sub();
  myCalculator.mul();
  myCalculator.div();
 }
}

작성2. src밑에 다음 java 코드를 작성(MyCalculator)

package com.javalec.ex;

public class MyCalculator {

 Calculator calculator;
 private int firstNum;
 private int secondNum;
 
 public MyCalculator() {

 }

 public void add() {
  calculator.addition(firstNum, secondNum);
 }
 
 public void sub() {
  calculator.subtraction(firstNum, secondNum);
 }
 
 public void mul() {
  calculator.multiplication(firstNum, secondNum);
 }
 
 public void div() {
  calculator.division(firstNum, secondNum);
 }
 
 public void setCalculator(Calculator calculator) {
  this.calculator = calculator;
 }
 
 public void setFirstNum(int firstNum) {
  this.firstNum = firstNum;
 }
 
 public void setSecondNum(int secondNum) {
  this.secondNum = secondNum;
 }
}

작성3. src 밑에 다음 java 코드를 작성 (Calculator )

package com.javalec.ex;

public class Calculator {

 public void addition(int f, int s) {
  System.out.println("addition()");
  int result = f + s;
  System.out.println(f + " + " + s + " = " + result);
 }
 
 public void subtraction(int f, int s) {
  System.out.println("subtraction()");
  int result = f - s;
  System.out.println(f + " - " + s + " = " + result);
 }
 
 public void multiplication(int f, int s) {
  System.out.println("multiplication()");
  int result = f * s;
  System.out.println(f + " * " + s + " = " + result);
 }
 
 public void division(int f, int s) {
  System.out.println("division()");
  int result = f / s;
  System.out.println(f + " / " + s + " = " + result);
 }
}


결과 ) 

----------------------------------------------------------

5. DI 와 IOC 컨테이너
   ex01 에서 객체를 클래스에서 바로 만들어서 사용함
    이걸 직접 new 키워드를적지 않도록 수정하려면
    하단에 setter() 를 만들고 그 함수 안에 쓸 객체를 포함시키던지
    생성자 작성시 사용 객체를 포함하는 방법으로
    객체를 지정하는 작업을 외부로 빼버리는 방식을 DI 라고 한다.
   Spring 에서는 이 객체를 만드는 (new xxx) 곳을 한군데로 모으는데
    그렇게 하면 객체를 선별적으로 담을 수 있고 추가하거나 빼기 좋아진다.
    그 방식을 IOC컨테이너라고 생각하면 된다.
   IOC컨테이너와 이를 사용하는 클래스까지가 Spring 이다.

댓글 없음:

댓글 쓰기