[Spring] 14.@Configuration
·
🖥️ Backend/Spring
이제 xml 파일의 나머지 설정 부분을 자바 클래스로 변경해보자 // @Bean을 추가해보기 위해서 냄겨둠 설정 클래스 위에 `@Configuration`을 추가한다.  그리고 ``를 `@ComponentScan("spring.di.ui")`로 대체한다. 처럼 패키지의 경로가 2개 이상일떄는 배열로 표시해준다. @ComponentScan({spring.di.ui, spring.di.entity}) 또한 이전시간에 배운 @Bean 또한 Config 클래스에 추가한다. @Bean 어노테이션이 달린 메서드의 이름은 객체이기 때문에 동사형태가 아닌 명사형태로 지어야한다.@ComponentScan("spring.di.ui")@Configurationpublic class NewlecDIConf..
[Spring] 13.@Component
·
🖥️ Backend/Spring
@Component@Component란 개발자가 직접 작성한 Class를 Bean으로 등록하기 위한 Annotation이다.위에서 설명한 스프링의 컴포넌트 스캔 (@ComponentScan) 기능에 의해 스캔될 때, 주어진 패키지 내에서 @Component 어노테이션이 적용된 클래스를 식별하고, 그러한 클래스의 빈을 생성하여 ApplicationContext에 등록한다. 이제 아래의 xml에서 객체를 생성하는 부분까지 @Component로 변경해보자 // @Component로 대체 예정 // // 이전 시간에 @Autowired로 대체 우선 xml파일에 를 추가해준다. //spring.di.ui패키지 안에 @Component를 스캔해라////@Component로 생성할 객체가 여러개면 base-p..
[Spring] 12.@Autowired
·
🖥️ Backend/Spring
XML DI에서 Annotaion DI로 변경하는 과정을 알아보자 우선 아래의 `` 부분을 InlineExamConsole 클래스의 setter 메서드 위에 @Autowired를 달아주면 대체할 수 있다. // ExamConsole console = new GridExamConsole(); // console.setExam(exam);  그러기 위해선 사전 작업으로 아래의 내용을 xml 파일에 추가해주자 이제 아래의 setter메서드에 @Autowired를 달아주면 정상 실행된다.//InlineExamConsole 클래스@Autowired@Overridepublic void setExam(Exam exam) { this.exam = exam; } 그런데 무엇을 근거로 @Autowi..
[Spring] 11.Collection DI
·
🖥️ Backend/Spring
오늘은 아래의 코드를 xml로 설정해보자List exams = new ArrayList();exams.add(new NewlecExam(1,1,1,1)); 위의 두 번째 코드인 exams.add는 setter가 아니기 때문에 XML 설정에서 property 속성을 사용할 수 없다. 그래서 아래의 2가지 방법으로 컬렉션을 주입시킨다.생성자 DI 사용util 네임스페이스 사용 생성자 DI 사용Java 에서 제공하는 컬렉션 (ArrayList 등) 객체를 DI생성자 DI 원리를 이용 // ArrayList 는 컬렉션을 매개변수로 받는 생성자가 존재 // ArrayList 의 요소 생성 및 삽입 // 위에 존재하는 exam ..
[Spring] 10.Constructor DI(value타입)
·
🖥️ Backend/Spring
이전 시간에는 Setter를 통한 DI를 알아보았고 오늘은 Constructor, 즉 생성자 DI에 대해서 알아보자. 예를들어 Exam exam = new NewlecExam(10,10,10,10);를 XML로 나타내려면 우선 객체의 클래스에 생성자를 생성해야한다. 빈칸 마우스 우측 클릭 -> Source -> Generate Consructor using Fields... -> (Fields의 모든 속성 체크) -> Generatepackage spring.di.entity;public class NewlecExam implements Exam { private int kor; private int eng; private int math; private int com; public NewlecExa..
[Spring] 9.Setter DI(value타입)
·
🖥️ Backend/Spring
[Spring] 8.스프링 IoC 컨테이너 사용하기(ApplicationContext 이용하기)에서 Property를 사용한 스프링 빈 의존관계 설정(레퍼런스 타입)을 알아보았다. 오늘은 Property를 사용한 스프링 빈 의존관계 설정(값 타입)을 통해 DI를 해보자.우선 값 형식 DI를 해주기전에 사용하려는 클래스 NewlecExam에 setter를 추가해줘야한다. 빈칸 마우스 우측 클릭 -> Source -> Generate Geeters and Setters -> Select All 과 같이 쉽게 getter와 setter를 만들어준다.NewlecExam 클래스에 getter와 setter가 잘 생성되었다. 아래 그림을 보면 값 부여 전에는 아직 값을 설정해주지 않아 total과 avg가 0이 나..
Developer Quarterly
'🖥️ Backend' 카테고리의 글 목록 (4 Page)