Spring 에서 자주 사용 하 는 로 딩 프로필 방법

프로필 을 불 러 오 는 몇 가지 방법 을 자주 사용 합 니 다. 주의해 야 할 부분!

/** *   XmlBeanFactory(Resource resource) 
  *   Resource   xml  
  * Resource  :AbstractResource, ClassPathResource, FileSystemResource,
* InputStreamResource, ServletContextResource, UrlResource
*/
/*
  *    InputStreamResource(InputStream inputStream)
  *   bean.xml        
  */
  InputStream is = null;
  try {
     is = new FileInputStream("bean1.xml");
   } catch (FileNotFoundException e) {
    e.printStackTrace();
   }
  Resource resource = new InputStreamResource(is);
  sayHello(resource);
 /*
  *    ClassPathResource(String path)
  *   bean.xml      (src)   
  */
  resource = new ClassPathResource("bean2.xml");
 sayHello(resource);
  /*
  *    FileSystemResource(String path)
  *   bean.xml        
  */
  resource = new FileSystemResource("bean3.xml");
  sayHello(resource);
  /*
  *    Properties
  *   bean.properties     --    (src)   
  */
  BeanDefinitionRegistry reg = new DefaultListableBeanFactory();
  PropertiesBeanDefinitionReader reader = new     PropertiesBeanDefinitionReader(reg);
  reader.loadBeanDefinitions(new ClassPathResource("bean.properties"));
  BeanFactory factory = (BeanFactory) reg;
  bf = (BeanFile) factory.getBean("beanFile");
  System.out.println("   " + bf.getBeanFile() + "    Bean.properties");
  /*
  *    ApplicationContext
  *   bean.xml     --    (src)   
  */
  ApplicationContext appContext = new ClassPathXmlApplicationContext(
  "bean4.xml");
  bf = (BeanFile) appContext.getBean("beanFile");
  System.out.println("   " + bf.getBeanFile() + "    Bean.xml");
  }
  public static void sayHello(Resource resource) {
  BeanFactory factory = new XmlBeanFactory(resource);
  BeanFile bf = (BeanFile) factory.getBean("beanFile");
  System.out.println("   " + bf.getBeanFile() + "    Bean.xml");

작은 매듭
이 글 은 주로 Spring 설정 파일 을 불 러 오 는 방법 에 대해 논 의 했 습 니 다. 일반적으로 BeanFactory 와 Application Context 입 니 다. 가장 자주 사용 되 는 간단 한 BeanFactory 실현 은 org. springframework. beans. factory. xml. XmlBeanFactory 입 니 다. 불 러 오 는 방식 은 BeanFactory = new XmlBeanFactory (Resource resource) 입 니 다.
이 resource 는 xml 형식 이 어야 합 니 다.리 소스 는 AbstractResource, ClassPathResource, FileSystemResource, InputStreamResource, ServletContextResource, UrlResource 를 포함한다. 이 글 은 자주 사용 하 는 세 가 지 를 다 루 었 다. ClassPathResource, FileSystemResource, InputStreamResource.
Application Context 는 BeanFactory 의 모든 기능 을 포함 하고 BeanFactory 보다 훨씬 강력 합 니 다 (나중에 자세히 소개 하 겠 습 니 다).ClassPathXmlApplication Context 만 간단하게 사용 하여 Bean 프로필 을 불 러 왔 습 니 다.log4j. properties 의 "Warn" 을 "Debug" 로 바 꿀 수 있 습 니 다. ClassPathResource 와 의 출력 을 비교 해 보 세 요.
Eclipse 에 서 는 bean 2. xml, bean 4 xml 이 원본 폴 더 (src) 디 렉 터 리 에 있 지만 실제로 컴 파일 된 Test. class 가 클래스 폴 더 (여 기 는 bin 폴 더) 에서 불 러 옵 니 다.

좋은 웹페이지 즐겨찾기