겉바속촉
[Spring] 자바와 스프링의 차이점 알아보기 본문
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라고 출력되는 것입니다
'IT일기(하반기) > SPRING' 카테고리의 다른 글
[spring] 생성자 + setter까지 주입해보기 (0) | 2020.06.25 |
---|---|
[spring] 생성자 주입해보기 (0) | 2020.06.25 |
[spring] 작업환경바꾸기 (0) | 2020.06.25 |
[Spring] 작업하기 전에 기본적인 세팅 (2) | 2020.06.24 |
[spring] Spring Framework 기본개념 (0) | 2020.06.24 |