봄 초보 학습 (1)

spring 의 특징 은 , 기능 모듈: test: 유닛 테스트 지원 core container: IOC, DI op: 절단면 인 코딩, data access: 조작 데이터 베이스, 사무 제어 웹: 통합 SpringMVC struts 2
첫 번 째 간단 한 예
1. 가이드 jar (test core container)
필요 한 jar 패키지 pom. xml 를 Maven 을 통 해 불 러 올 수 있 습 니 다.

  4.0.0
  com.xinge
  spring-01
  0.0.1-SNAPSHOT
  jar
  
  
  
    
        mvnrepository
        http://mvnrepository.com/
    
  
  
  
  
    1.7
    utf-8
    UTF-8
    4.1.0.RELEASE 
  
  
  
  
    
    
        junit
        junit
        4.11
        test
    
    
    
    
    
        mysql
        mysql-connector-java
        5.1.32
    
    
    
    
    
    
        org.springframework
        spring-test
        ${spring.version}
        test
        
    
    
    
    
        org.springframework
        spring-beans
        ${spring.version}
    
    
    
            org.springframework
            spring-core
            ${spring.version}
        

        
            org.springframework
            spring-context
            ${spring.version}
        

        
            org.springframework
            spring-context-support
            ${spring.version}
        
    
        
            org.springframework
            spring-expression
            ${spring.version}
        
        
  
  
  
  
    
        
        
            org.apache.maven.plugins
            maven-compiler-plugin
            3.1
            
                ${jdk.version}
                ${jdk.version}
                ${charset}
            
        
    
  


2. 일반적인 자바 클래스 만 들 기
bean 대상
public class Dog {
    private String dogName;

    public String getDogName() {
        return dogName;
    }

    public void setDogName(String dogName) {
        this.dogName = dogName;
    }
    
    public void shout(){
        System.out.println("  !");
    }
    
    public Dog(){
        System.out.println("dog       !");
    }
}
public class Boy {
 private Dog dog;

public Dog getDog() {
    return dog;
}

public void setDog(Dog dog) {
    this.dog = dog;
}

@Override
public String toString() {
    return "Boy [dog=" + dog + "]";
}
 
}

3. spring 프로필 에 자바 류 등록




    
    
    
        
    
    
     
    



4. 테스트 클래스 를 작성 하여 spring 용기 관리 대상 의 예화 성공 여 부 를 테스트 합 니 다.
public class DogTest {
    @Test
    public void testD(){
//        spring    
        ApplicationContext ac = 
                new ClassPathXmlApplicationContext("applicationContext.xml");
//                ,getBean        bean id   
        Dog dog = (Dog) ac.getBean("dog");
//                    
        dog.shout();
        System.out.println(dog.getDogName());
    }
}

package com.icss.model;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class BoyTest {

    @Test
    public void testD(){
//        spring    
        ApplicationContext ac = 
                new ClassPathXmlApplicationContext("applicationContext.xml");
//                ,getBean        bean id   
        Boy boy = (Boy) ac.getBean("boy");
//                    
        
        System.out.println(boy.getDog().getDogName());
    }
}


주의해 야 할 것 은 spring 용기 대상 을 처음 불 러 올 때 spring 용기 대상 은 모든 bean, 즉 모든 bean 의 구조 함수 가 실 행 됩 니 다.
구조 기 방식, 일반 공장 의 방식, 정태 공장 의 방식 을 예화 하 다.
먼저 person 클래스 의 bean 을 만 듭 니 다.
public class Person {

    private String name;
    private String age;
    
    
    public String getName() {
        return name;
    }


    public void setName(String name) {
        this.name = name;
    }


    public String getAge() {
        return age;
    }


    public void setAge(String age) {
        this.age = age;
    }


    public void eat()
    {
        System.out.println("        ,    ");
    }
}


1. 구조 기 방식 용기 설정 파일:

    

테스트 방법:
@Test
    public void testD(){
//        spring    
        ApplicationContext ac = 
                new ClassPathXmlApplicationContext("applicationContext.xml");
//                ,getBean        bean id   
        Person person = (Person) ac.getBean("person");
//                    
        
        person.eat();
        //System.out.println(boy.getDog().getDogName());
    }

2. 정적 공장 방식
public class PersonFactory {

    public static Person getPerson()
    {
        return new Person();
    }
}

    

3. 일반 공장 방식
public class PersonFactory2 {
    public  Person getPerson()
    {
        return new Person();
    }
}

    

    

좋은 웹페이지 즐겨찾기