본문 바로가기

SPRING

(86)
DI 의존성 주입 - xml 파일 <bean> <constructor-arg> * xml 파일에 빈 객체를 직접 생성하기 - root-context.xml 파일 내부에는 라는 태그 존재. 그 안에 이라는 태그를 이용하여 개별 객체들을 직접 생성 - 즉, 무대 위에 발라드 가수, 힙합 가수를 동시에 올릴 수 있게 됨. 어노테이션의 한계 극복 * - 객체를 생성해주는 태그 (주입은 해주지 않음, 단순히 객체 생성만) - id : 컨테이너 내부적으로 사용할 명칭, 변수명, 자유롭게 지정할 수 있음, 적지 않을 경우 클래스명이 id가 됨 - class : 필수 속성, 패키지명을 포함한 클래스 파일의 경로 입력, 그 클래스 파일을 활용한 객체가 bean-container 내부에 id명으로 생성 * : 생성자 의존성 주입 - 태그로 객체 생성해주고, 태그로 의존성 주입해주기 (Ballad, ..
DI 의존성 주입 - @Qualifier / @Resource * @Autowired 어노테이션을 활용한 의존성 주입의 한계 - 지난 강의에서는 @Autowired은 자료형이 일치하는 객체는 자동으로 주입 되었음 - 하지만, 둘 이상의 객체가 의존성 주입의 타겟이 된다면 @Autowired만으로는 객체 주입을 할 수 없음 -> 오류 발생 (의문: 무대 위에서 가수라는 인터페이스에서 뻗어나온 발라드 가수도, 힙합 가수도, 댄스 가수도 번갈아 가면서 노래를 해야하는 경우에는 어떻게 해야할까?) - 둘 이상의 객체가 주입의 타겟이 되는 경우는 특정 객체를 지목해서 주입해야함. 이 때, 사용하는 어노테이션이 @Qualifier - cf) @Inject = @Autowired : @Inject는 자바에서 쓰이는 의존성 주입 어노테이션 * @Qualifier 어노테이션 - @..
DI 의존성 주입 - Java / @Component, @Autowired *의존성 주입 - 의존성: 하나의 객체가 다른 객체 없이는 제대로 된 역할을 할 수 없음을 의미, 다른 객체(클래스)를 꼭 필요로 하는 것 - 주입: 외부에서 자료를 넣어주는 것 - 예를 들어, 음악 프로그램에서 백댄서가 없어도 가수만이라도 있다면 어찌저찌 무대를 구성하는 것은 가능합니다. 그런데 가수가 없고 백댄서만 있는 상황이라면 어떨까요? 이 경우는 무대 자체가 성립하지 않습니다. 이 경우는 무대가 성립하기 위해 반드시 필요한 것이 가수이므로 무대는 가수에 의존한다 라고 표현할 수 있습니다. 자바 내부로 따지면 A객체를 만드는데 A객체의 생성자가 B라는 객체를 파라미터값으로 요구한다면 A객체는 B객체 없이는 만들 수 없게 되는 것입니다. 그래서 이 관계를 가리켜 의존 관계라고 부릅니다. *bean-..
[스프링] legacy 프로젝트 환경설정 1) 프로젝트 생성 file -> new -> spring legacy project 선택 -> 프로젝트 이름을 입력하고 Spring MVC Project를 선택 -> 패키지명은 도메인을 거꾸로 작성한 형태로 적어주기 (패키지명의 마지막은 프로젝트명이자, context path가 될것임) 2) 프로젝트 환경설정 (Maven 의존성 설정) - JSP에서는 라이브러리나 유틸리티를 사용하기 위해서 .jar 파일을 resource/bin에 직접 넣음 - 스프링에서는 직접적으로 파일을 넣어서 라이브러리를 사용할 수도 있지만 pom.xml 이라는 파일 내부에 의존성을 설정함 - legacy라는 명칭에서 알 수 있듯이 자바 1.6버전 스프링 3버전 시절의 세팅을 그대로 적용한 버전이니, 최신에 맞게 수정 필요 - p..
[스프링] 환경설정 : JDK / Eclipse / Tomcat / STS 1) JDK 설치 - 1.8버전 https://www.oracle.com/java/technologies/-> Java SE 클릭 2) Eclipse 설치 -> IDE 버전 https://www.eclipse.org/ - 맥 환경변수 설정하는 법 https://whitepaek.tistory.com/28 - 이클립스 한글 인코딩 설정 Window -> Preference -> encoding 입력 -> Workspace -> UTF-8로 변경 css, html, jsp, xml도 변경 -> ISO 10646/Unicode(UTF-8) 3) 톰캣 서버 설치 - 아파치 톰캣 9.0 버전 - 맥에서 homebrew로 설치하기 https://blog.naver.com/1seola/221861093207 - 서버..
스프링 프레임워크 정의 / 특징 * 스프링 프레임워크 - Java/JSP 기반의 웹 프레임워크 - 프로그램을 쉽게 할 수 있도록 미리 뼈대를 만들어 놓은 것 -> 살만 붙이면 되게끔 - 개발자가 원하는 기능을 편하게 구현할 수 있도록 다양한 기능 제공 - 자바로 만들어진 여러 가지 도구의 집합 = 라이브러리 - JVM 위에서 돌아가며, 아파치 라이선스 2.0을 따르는 오픈 소스 프레임워크 - 한국 전자정부 표준프레임워크의 기반 기술이며 한국정보화진흥원에서는 공공기관의 웹 서비스 제공 시 스프링을 권장 - 환경설정이 까다로운 편이나 설정을 마친 시점부터는 개발 속도가 기하급수적으로 상승하기 때문에 중대형 프로젝트에 적합 cf) 그 밖에 다른 언어에서 사용하는 프레임워크 자바 -> 스프링 프레임워크 파이썬 -> 장고 프레임워크 php ->..