티스토리 뷰

Spring

[Spring] DI Annotation 예제

먹태 2018. 5. 13. 22:36

DI Annotation예제 


- 이클립스 사용

- xml파일 대신 자바로ㅇㅇ

- 강사는 그닥 추천하는 방법은 아니라고 한다










<Student>


  1. package com.javalec.ex;
  2.  
  3. import java.util.ArrayList;
  4.  
  5. public class Student {
  6.     private String name;
  7.     private int age;
  8.     private ArrayList<String> hobbys;
  9.     private double height;
  10.     private double weight;
  11.    
  12.    
  13.     public Student(String name, int age, ArrayList<String> hobbys) {
  14.         this.name = name;
  15.         this.age = age;
  16.         this.hobbys = hobbys;
  17.     }
  18.  
  19.  
  20.     public String getName() {
  21.         return name;
  22.     }
  23.  
  24.  
  25.     public void setName(String name) {
  26.         this.name = name;
  27.     }
  28.  
  29.  
  30.     public int getAge() {
  31.         return age;
  32.     }
  33.  
  34.  
  35.     public void setAge(int age) {
  36.         this.age = age;
  37.     }
  38.  
  39.  
  40.     public ArrayList<String> getHobbys() {
  41.         return hobbys;
  42.     }
  43.  
  44.  
  45.     public void setHobbys(ArrayList<String> hobbys) {
  46.         this.hobbys = hobbys;
  47.     }
  48.  
  49.  
  50.     public double getHeight() {
  51.         return height;
  52.     }
  53.  
  54.  
  55.     public void setHeight(double height) {
  56.         this.height = height;
  57.     }
  58.  
  59.  
  60.     public double getWeight() {
  61.         return weight;
  62.     }
  63.  
  64.  
  65.     public void setWeight(double weight) {
  66.         this.weight = weight;
  67.     }
  68. }
  69.  


-> name, age, hobby는 생성자랑 getter,setter 다 만듬








<ApplicationConfig> - xml파일 역할을 하는 클래스



  1. package com.javalec.ex;
  2.  
  3. import java.util.ArrayList;
  4.  
  5. import org.springframework.context.annotation.Bean;
  6. import org.springframework.context.annotation.Configuration;
  7.  
  8. @Configuration // ApplicationConfig가 스프링 파일로 사용될 클래스임을 명시
  9. public class ApplicationConfig {
  10.    
  11.     @Bean //Bean 설정
  12.     public Student student1() {
  13.        
  14.             ArrayList<String> hobbys = new ArrayList<String>();
  15.             hobbys.add("테니스");
  16.             hobbys.add("영화보기");
  17.            
  18.             Student student = new Student("홍길동"20, hobbys);
  19.             student.setHeight(180);
  20.             student.setWeight(80);
  21.        
  22.             return student;
  23.     }      
  24.            
  25.    
  26.         @Bean //Bean 설정
  27.         public Student student2() {
  28.             ArrayList<String> hobbys = new ArrayList<String>();
  29.             hobbys.add("독서");
  30.             hobbys.add("음악감상");
  31.            
  32.             Student student = new Student("홍길자"21, hobbys);
  33.             student.setHeight(165);
  34.             student.setWeight(47);
  35.        
  36.             return student;    
  37.     }
  38. }


-> 








<MainClass>


  1. package com.javalec.ex;
  2.  
  3. import org.springframework.context.annotation.AnnotationConfigApplicationContext;
  4.  
  5. public class Mainclass {
  6.    
  7.     public static void main(String[] args) {
  8.        
  9.         AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(ApplicationConfig.class);
  10.         Student student1 = ctx.getBean("student1", Student.class);
  11.         System.out.println("이름 : " + student1.getName());
  12.         System.out.println("나이 : " + student1.getAge());
  13.         System.out.println("취미 : " + student1.getHobbys());
  14.         System.out.println("신장 : " + student1.getHeight());
  15.         System.out.println("몸무게 : " + student1.getWeight());
  16.        
  17.         System.out.println("-------------------------------");
  18.        
  19.         Student student2 = ctx.getBean("student2", Student.class);
  20.         System.out.println("이름 : " + student2.getName());
  21.         System.out.println("나이 : " + student2.getAge());
  22.         System.out.println("취미 : " + student2.getHobbys());
  23.         System.out.println("신장 : " + student2.getHeight());
  24.         System.out.println("몸무게 : " + student2.getWeight());
  25.        
  26.         ctx.close();
  27.     }
  28. }






<결과>








'Spring' 카테고리의 다른 글

Spring 2  (0) 2020.10.13
Spring 1  (0) 2020.10.13
[Spring] DI 기본예제 3  (0) 2018.05.13
[Spring] DI 기본예제 2  (0) 2018.05.13
[Spring] DI 기본예제  (0) 2018.05.13
댓글
최근에 올라온 글
최근에 달린 댓글
링크
Total
Today
Yesterday