🍃 Spring, Spring Boot/스프링 프레임워크 기초

    [Java / Spring] 6. XML Configuration을 Java Configuration으로 변경하기

    이번 시간에는 지금까지 XML 파일을 통해 작성했던 것을 Java 파일을 통해 작성하도록 변경하고자 한다. 이를 위해서는 별도의 자바 클래스가 필요하며 해당 파일이 일반적인 자바 클래스가 아니라 설정을 위한 클래스임을 표시하기 위해서 @Configuration 이라는 어노테이션을 붙여준다. 이렇게 하면 해당 클래스 안에서 XML 파일에서 설정했던 내용을 어노테이션으로 추가할 수 있게 된다. 따라서 다음과 같이 새로운 클래스를 만든 뒤, 코드를 작성해주었다. @ComponentScan("spring.di.ui") @Configuration public class NewlecDIConfig { @Bean public Exam exam() { return new NewlecExam(); } } 위의 구문은 기..

    [Java / Spring] 5. 어노테이션을 이용한 객체 생성

    이번 시간에는 어노테이션을 이용해서 객체를 생성하는 방법에 대해 알아보고자 한다. 우선 xml 파일에 있는 다음의 코드를 주석처리 해주었다. 이렇게 하면 xml 파일에서 객체를 생성하는 코드는 모두 사라졌을 것이다. 이후 객체를 생성할 클래스로 들어가 해당 클래스 위에 @Component 어노테이션을 작성해준다. 다음으로 이전 시간에 우리가 스프링에게 지시했던 것처럼 xml 파일에 코드를 작성해준다. 이렇게 하면 구문은 더 이상 필요가 없기 때문에 삭제해준다. 이제 java 파일에서 생성된 객체를 받아오는 코드를 작성하고 실행하면 정상적으로 실행 되는 것을 확인할 수 있다. ApplicationContext context = new ClassPathXmlApplicationContext("spring/d..

    [Java / Spring] 4. 어노테이션을 이용할 때의 장점과 @Autowired를 이용한 DI 해보기

    이번 시간에는 어노테이션을 이용해서 코드 파일에 초기화 설정을 심는 방법에 대해 알아보고자 한다. 그럼 xml 파일의 코드를 하나씩 어노테이션으로 변경하는 작업을 수행해보자. 우선 다음 코드를 변경해보자 해당 코드를 주석처리 또는 삭제한 뒤, 실제 클래스로 들어가 setter 함수에 어노테이션을 심어준다. @Autowired @Override public void setExam(Exam exam) { this.exam = exam; } 위처럼 하면 객체가 만들어질 때, 해당 객체 안에 있는 @Autowired 어노테이션이 포함된 setter를 자동으로 찾게 된다. 즉, 객체가 자동으로 연결되어 실질적으로 앞에서 보았던 xml 코드의 역할을 대신하게 되는 것이다. 다만 이 상태에서 프로그램을 실행하면 오류..

    [Java / Spring] 3. 콜렉션 생성과 목록 DI

    이번 시간에는 콜렉션을 생성하는 방법과 콜렉션에 객체를 참조시키는 초기화 작업을 어떻게 DI 할 것인지를 다루어본다. 우선 콜렉션이라 하면 ArrayList가 대표적이며, 아래와 같이 생성할 수 있다. List exams = new ArrayList(); exams.add(new NewlecExam(10, 20, 30, 40)); for(Exam e : exams) System.out.println(e); 이제 위의 코드를 xml을 통해 생성하고 값을 초기화 해보자. 우선 코드를 아래와 같이 수정해주었다. List exams = (List) context.getBean("exams"); exams.add(new NewlecExam(10, 20, 30, 40)); for(Exam e : exams) Sys..