겉바속촉

[Spring] 자바와 스프링의 차이점 알아보기 본문

IT일기(하반기)/SPRING

[Spring] 자바와 스프링의 차이점 알아보기

겉바속촉 2020. 6. 25. 10:15
728x90
반응형

spring을 본격적으로 시작하기 전에 우리가 알고있는 자바와 무엇이 다른지 알아볼거에요

 

먼저!!

Java Resources의 java에서 패키지 하나 생성해주세요

 

 

지난번 포스팅에서 작업환경 설정할 때에

만들어두었기 때문에 

bean이 들어가있는데요:)

 

 

다음과 같은 이름으로 새로 만들어주겠다는거에요:)

 

 

 

 

 

그 패키지 안에서 class를 만들어주세요

 

 

 

 

이제 이 public class에서 우리는 private으로 선언해주고

메서드도 작성해줄게요:)

 

 

 

다음과 같이 작성해주세요

 

 

 

 

그리고

Java Resources - src/main/resources에서 우클릭 - new - other

spring 검색하신 후에 Spring Bean Configuration File 클릭 - next

 

 

 

 

 

file name 지정해주신 후에

 

 

 

beans 클릭 - 아래쪽에 4.3 클릭

 

 

그리고 next 한번 더 누르고 Finish

 

 

 

그러면 우리가 처음 다뤄보는 xml 파일이 만들어지쥬?!

여기서는 우리가 아까 위에서 만들었던 Hello 클래스에 대한 bean을 설정해줄 공간입니다:)

 

<bean name="이름" class="클래스 경로.클래스이름"/>

 

 

 

 

 

그리고 출력을 해낼 메인 클래스 하나 만들어주세요:)

저는 HelloMain이라고 지어주었어요

 

 

 

 

 

 

자바와 스프링 방식이 뭐가 다른지 비교해보도록할게요

 

우선 자바방식부터!

 

 

 

제가 객체를 두개 생성해주었어요 ---> hello1, hello2라고 말이죠

그리고서  그 두개가 같은지 출력했더니

false라고 출력이 됩니다!!!

 

 

 

자바에서는 new로 생성할때마다 새로운 영역에 생성되기 때문입니다.

 

 

 

이제 스프링 방식 으로 출력해볼까요?

 

 

 스프링으로 출력하려면
아까 만든 xml파일 가져오셔야합니다:)
hello class에 대한 bean공간을 만든 그 파일이요!!


app1이라는 이름으로 객체생성 후 wml을 주입시킵니다 

 

그리고

우리가 resources에다가 만들어주었기 때문에

경로를 다 적지 않고 이름만 적어도 okay

 

 

 

 

이제 자바방식으로 했던 것처럼
app1이라고 객체생성해주세요!!

 

 

그리고 Hello 객체를 생성해줄거에요

h1이랑 h2로 만드는 대신 방법을 다르게 만듭니다:)

 

방법1 

Hello h1=(Hello)app1.getBean("hello"); //방법1
		System.out.println(h1.getMessage());
		

방법2

Hello h2=app1.getBean("hello",Hello.class); //방법2
		System.out.println(h2.getMessage());



그리고 h1과 h2를 비교해볼게요~~

자바때와는 다르게 true라고 나오는 게 보이시쥬?

그 이유는 기본적으로 스프링은 자바와 다르게 싱글톤 이기 때문입니다:)

아까 자바는 비교했을 떄 false라고 출력되지만

스프링은 생성한 주소가 같기 때문에 true라고 출력되는 것입니다

728x90
반응형