글 작성자: 개발섭

Spring을 공부하는 이유는 정말 간단한데, web app개발을 위해서는 Spring이 필요하기때문이다. (심지어 베이스 언어가 내가 쓰는 자바야 ㅎㄷㄷ) 그래서 Spring을 이용해서 web 앱을 개발하기위해서 Spring Framework를 배우고 있고, 인강을 들으면서 정리한 내용을 여기다 고대로 적는중이다. 그럼 시작.

 

Spring은 대부분 Maven을 통해서 프로젝트를 만들어가는데 여기서 Maven: Build Tool을 뜻한다. 

빌드에 도움을 주는 모든 과정을 maven이 대신 해준다고 생각하면된다. 

 

그래서 프로젝트 생성시에도 maven을 통해서 생성해야한다.

 

만들 경우 group id와 artifact id가 필요한데 group id의 경우-> 전체 프로젝트를 뜻하고, 

artifact id의 경우 전체프로젝트의 작은 한부분을 뜻하는 것이다. 예를 들면 그룹아이디는 전체 제품 설계도이라면, 아티펙트 아이디는 그 속에 들어가는 작은 부품의 설계도이다.

 

프로젝트를 만들고 생성되면 이런식의 그냥 java프로젝트보다는 많은 양의 폴더가 나오는데

pom.xml

은 module을 사용하기 위해서 쓰는 파일이고, 여기에 springframework와 maven의 모듈의 버전이나 기타 설정들이 들어가게된다. 만약 Spring이 버전이 낮아 실행이 되지 않는 경우 -> maven> update를 사용한다.

메이븐 설정파일이고 라이브러리들을 연결, 빌드해주기위한 플렛폼이다. 이 파일에서 필요한 라이브러리만 뽑아서 적용해주는 역할을 한다.

 

 

폴더별로 간단하게 이야기를하자면, java는 기능구현을 위한 java소스들이 들어가는 곳이고, resource는 보조 필요한 파일들이 여기에 들어가게 된다. (html이라던가 css, xml)

 

자바와 스프링의 가장 큰 차이점은 객체를 직접 new를 통해서 구현하냐와 안하냐의 차이가 있다. 

기본적인 java의 객체 구현 방식

자바에서는 객체를 구현하기위해서는 new를 통한 구현이 필요하지만, 

Spring에서는 객체를 구현하기위해서 new를 일일히 만들어주지 않아도 객체 구현이 가능하다 

 

spring을 통한 객체 구현 방식

개떡 같은 class명을 가진 객체를 만들었지만, 이 개떡같은 class명을 가지고 있는 객체를  xml파일에서 그객체를 가져와서 new 없이도 객체 생성을 할 수 있다.

 

xml파일

이 xml 파일에서 bean이라고 불리는 객체를 지정해주면 id가 walk인 객체(trans라는 개떡같은 class명을 가진)가 하나 뚝딱 만들어지는 것이다.