🍃 Spring, Spring Boot

    [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..

    [Java / Spring] 2. DI 값 설정

    이전 시간에 작성한 코드의 결과는 잘 출력되기는 하나 실질적인 값이 들어가 있지 않아 의미없는 결과를 출력하였다. 따라서 클래스에 getter와 setter를 추가한 뒤, setting.xml 파일을 다음과 같이 수정해주었다. 태그를 사용해 NewlecExam 클래스 안에 있는 getter, setter 함수를 이용한 것이다. 위와 다른 방법으로 생성자를 이용하는 방법이 있다. 우선 NewlecExam 클래스의 생성자는 다음과 같다. public NewlecExam(int kor, int eng, int math, int com) { this.kor = kor; this.eng = eng; this.math = math; this.com = com; } 위의 생성자를 이용해서 DI 값을 지정하기 위해서는..