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