스프링 프로젝트 만들기
DI(Dependency Injection)
퍼블릭 클래스에 메인 메소드가 있는 것을 A객체라고 할 수 있고 나머지 클래스는 B, C객체라고 할 수 있으며, 이들은
A객체에 의존적인 것으로 볼 수 있다.
이들의 값은 객체 생성, setter()메서드 사용 혹은 생성자를 통해서 객체에 값을 넣을 수 있다.
IOC 컨테이너(Inversion of Control)
IOC 컨테이너에 있는 객체들을 자신들이 스스로 컨트롤 하고 있는 것이 아니라, A객체가 그 통제권을 가지고 있는 것을 IOC라고 하며, IOC 컨테이너는 객체들이 모여있는 곳이라고 볼 수 있다.
Maven(빌드관리 도구)
- 패키징 해주는 빌드 자동화 도구
- 프로젝트 생성, 테스트 빌드, 베포 등의 작업을 위한 전용 프로그램
예제
- 프로젝트 만들고, Spring MVC Project로 생성하고 next
- com.javalec.spring_2_1 이렇게 입력(spring_2_1을 프로젝트 이름)
- 그럼 뭐가 뜨는데 show solution - 엔터프라이즈 있는거 선택해서 컨펌 - 리스타트 나우
예제 1 - 사칙연산
<Calculation.java>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
public class Calculation {
private int firstNum;
private int secondNum;
public void add() {
System.out.println("add");
System.out.println(firstNum+"+"+secondNum+"="+(firstNum+secondNum));
}
public void sub() {
System.out.println("sub");
System.out.println(firstNum+"-"+secondNum+"="+(firstNum-secondNum));
}
public void mul() {
System.out.println("mul");
System.out.println(firstNum+"*"+secondNum+"="+(firstNum*secondNum));
}
public void div() {
System.out.println("div");
System.out.println(firstNum+"/"+secondNum+"="+(firstNum/secondNum));
}
public int getFirstNum() {
return firstNum;
}
public void setFirstNum(int firstNum) {
this.firstNum = firstNum;
}
public int getSecondNum() {
return secondNum;
}
public void setSecondNum(int secondNum) {
this.secondNum = secondNum;
}
}
|
cs |
<MainClass.java>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
package com.javalec.spring_2_1;
public class MainClass {
public static void main(String[] args) {
Calculation calculation = new Calculation();
calculation.setFirstNum(10);
calculation.setSecondNum(2);
calculation.add();
calculation.sub();
calculation.mul();
calculation.div();
}
}
|
cs |
문제 1 - 원과 사각형의 넓이 구하기
<Circle.java>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
package com.javalec.spring_ex2_1;
public class Circle {
private float half;
public void c() {
System.out.print("원의 면적은 ");
System.out.println(half*half*3.14);
}
public float getHalf() {
return half;
}
public void setHalf(float half) {
this.half = half;
}
}
|
cs |
<Rectangle.java>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
package com.javalec.spring_ex2_1;
public class Rectangle {
private int width;
private int height;
public void mulWH() {
System.out.print("사각형의 면적은 ");
System.out.println(width*height);
}
public int getWidth() {
return width;
}
public void setWidth(int width) {
this.width = width;
}
public int getHeight() {
return height;
}
public void setHeight(int height) {
this.height = height;
}
}
|
cs |
<Draw.java>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
package com.javalec.spring_ex2_1;
public class Draw {
public static void main(String[] args) {
Circle circle = new Circle();
Rectangle rectangle = new Rectangle();
circle.setHalf(10);
rectangle.setHeight(30);
rectangle.setWidth(20);
circle.c();
rectangle.mulWH();
}
}
|
cs |
문제 2 - 계절과 환전
<Season.java>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
package com.javalec.spring_ex2_2;
public class Season {
private int season;
public int getSeason() {
return season;
}
public void setSeason(int season) {
this.season = season;
}
public void s() {
if(season == 3 || season == 4 || season == 5) {
System.out.println("봄");
}
else if(season == 6 || season == 7 || season == 8) {
System.out.println("여름");
}
else if(season == 9 || season == 10 || season == 11) {
System.out.println("가을");
}
else if(season == 12 || season == 1 || season == 2) {
System.out.println("겨울");
}
}
}
|
cs |
<Won2Dollar.java>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
package com.javalec.spring_ex2_2;
public class Won2dollar {
private float won;
public float getWon() {
return won;
}
public void setWon(float won) {
this.won = won;
}
public void w2d() {
float dollar = won/1200;
System.out.println("$"+dollar);
}
}
|
cs |
<SeaonDollar.java>
1
2
3
4
5
6
7
8
9
10
11
|
package com.javalec.spring_ex2_2;
public class SeasonDollar {
public static void main(String[] args) {
Season season = new Season();
Won2dollar won2dollar = new Won2dollar();
season.setSeason(9);
won2dollar.setWon(3300);
season.s();
won2dollar.w2d();
}
|
cs |
문제 3 - 3의 배수와 10의 자리, 1의 자리 비교
<Three.java>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
package com.javalec.spring_ex2_3;
public class Three {
private int number;
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public void process() {
if (number%3==0 && number!=0) {
System.out.println("3의 배수입니다.");
} else {
System.out.println("3의 배수가 아닙니다.");
}
}
}
|
cs |
<DivAndRemains.java>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
package com.javalec.spring_ex2_3;
public class DivAndRemains {
private int number;
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public void process() {
if (number/10 == number%10) {
System.out.println("10의 자리와 1의 자리가 같습니다.");
} else {
System.out.println("10의 자리와 1의 자리가 다릅니다.");
}
}
}
|
cs |
<ThreeDivAndRemains.java>
1
2
3
4
5
6
7
8
9
10
11
12
13
|
package com.javalec.spring_ex2_3;
public class ThreeDivAndRemains {
public static void main(String[] args) {
Three three = new Three();
DivAndRemains divAndRemains = new DivAndRemains();
three.setNumber(129);
divAndRemains.setNumber(77);
three.process();
divAndRemains.process();
}
}
|
cs |
문제 4 - 좌표와 중간 값 구하기
<Retangle.java>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
package com.javalec.spring_ex2_4;
public class Rectangle {
private int x;
private int y;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public void process() {
if (x>=100 && y>=100 && x<=200 && y<=200) {
System.out.println("("+x+","+y+")는 사각형 안에 있습니다.");
} else {
System.out.println("("+x+","+y+")는 사각형 안에 없습니다.");
}
}
}
|
cs |
<Median.java>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
package com.javalec.spring_ex2_4;
import java.util.Arrays;
public class Median {
private int num1;
private int num2;
private int num3;
public int getNum1() {
return num1;
}
public void setNum1(int num1) {
this.num1 = num1;
}
public int getNum2() {
return num2;
}
public void setNum2(int num2) {
this.num2 = num2;
}
public int getNum3() {
return num3;
}
public void setNum3(int num3) {
this.num3 = num3;
}
// public void process() {
// if(num1>=num2) {
// if(num2>=num3) {
// System.out.println("입력된 정수가 "+num1+"와"+num2+"와"+num3+"의 중간값은"+num2);
// }
// else if (num1<=num3) {
// System.out.println("입력된 정수가 "+num1+"와"+num2+"와"+num3+"의 중간값은"+num1);
// }else {
// System.out.println("입력된 정수가 "+num1+"와"+num2+"와"+num3+"의 중간값은"+num3);
// }
// }
// else if (num1>num3) {
// System.out.println("입력된 정수가 "+num1+"와"+num2+"와"+num3+"의 중간값은"+num1);
// }
// else if (num2>num3) {
// System.out.println("입력된 정수가 "+num1+"와"+num2+"와"+num3+"의 중간값은"+num3);
// }else {
// System.out.println("입력된 정수가 "+num1+"와"+num2+"와"+num3+"의 중간값은"+num2);
// }
// }
public void process() {
int [] arr = new int [3];
arr[0] = num1;
arr[1] = num2;
arr[2] = num3;
Arrays.sort(arr);
System.out.println("입력된 정수가 " + arr[0] + "와 " + arr[1] + "와 " + arr[2] +"의 중간값은 " + arr[1]);
}
}
|
cs |
- array.sort()로 정수의 크기별로 오름차순으로 정렬하고, 그 중간 값인 arr[1]을 출력하면 중간 크기의 값을 구할 수 있음
<RectangleMedian.java>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
package com.javalec.spring_ex2_4;
public class RectangleMedian {
public static void main(String[] args) {
Rectangle rectangle = new Rectangle();
Median median = new Median();
rectangle.setX(150);
rectangle.setY(150);
median.setNum1(20);
median.setNum2(100);
median.setNum3(33);
rectangle.process();
median.process();
}
}
|
cs |
문제 5 - 배수 여부, 삼각형 가능 여부
<Multiple.java>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
package com.javalec.spring_ex2_5;
public class Multiple {
private int num;
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public void process() {
if (num%3==0 && num!=0) {
System.out.println("3의 배수이다");
}
if (num%5==0 && num!=0) {
System.out.println("5의 배수이다");
}
if (num%8==0 && num!=0) {
System.out.println("8의 배수이다");
}
}
}
|
cs |
<Triangle.java>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
package com.javalec.spring_ex2_5;
public class Triangle {
private int num1;
private int num2;
private int num3;
public int getNum1() {
return num1;
}
public void setNum1(int num1) {
this.num1 = num1;
}
public int getNum2() {
return num2;
}
public void setNum2(int num2) {
this.num2 = num2;
}
public int getNum3() {
return num3;
}
public void setNum3(int num3) {
this.num3 = num3;
}
public void process() {
if ((num1+num2)>num3 || (num1+num3)>num2 || (num2+num3)>num1) {
System.out.println("삼각형이 됩니다.");
}else {
System.out.println("삼각형이 안됩니다.");
}
}
}
|
cs |
<MultipleTriangle.java>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
package com.javalec.spring_ex2_5;
public class MultipleTriangle {
public static void main(String[] args) {
Multiple multiple = new Multiple();
Triangle triangle = new Triangle();
multiple.setNum(240);
triangle.setNum1(4);
triangle.setNum2(3);
triangle.setNum3(5);
multiple.process();
triangle.process();
}
}
|
cs |
문제 6 - 별찍기, 알파벳 찍기
<Asterisk.java>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
package com.javalec.spring_ex2_6;
public class Asterisk {
private int num;
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public void process() {
for (int i = 0; i < num; i++) {
for (int j = 0; j < num-i; j++) {
System.out.print("*");
}
System.out.println("");
}
}
}
|
cs |
<Capital.java>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
package com.javalec.spring_ex2_6;
public class Capital {
private char s;
public char getS() {
return s;
}
public void setS(char s) {
this.s = s;
}
public void process() {
for (char i = s; i >= 'A'; i--) {
for (char j = 'A'; j <=i; j++) {
System.out.print(j);
}
System.out.println("");
}
}
}
|
cs |
<AsteriskCapital.java>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
package com.javalec.spring_ex2_6;
public class AsteriskCapital {
public static void main(String[] args) {
Asterisk asterisk = new Asterisk();
Capital capital = new Capital();
asterisk.setNum(5);
capital.setS('F');
asterisk.process();
capital.process();
}
}
|
cs |