Java/Spring/ClassPathXmlApplicationContext

Материал из Java эксперт
Перейти к: навигация, поиск

Load config file from ClassPath

   <source lang="java">
      

File: context.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"

      xmlns:context="http://www.springframework.org/schema/context"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="
               http://www.springframework.org/schema/beans
               http://www.springframework.org/schema/beans/spring-beans.xsd
               http://www.springframework.org/schema/context
               http://www.springframework.org/schema/context/spring-context.xsd">
   <context:component-scan base-package="bean"/>

</beans>

File: Main.java import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Main {

 public static void main(String[] args) throws Exception {
   ApplicationContext ac = new ClassPathXmlApplicationContext("context.xml");
   System.out.println(ac.getBean("simplestBean"));
 }

} File: Magic.java package bean;

public @interface Magic { }

File: MarkedBean.java package bean;

public class MarkedBean implements ComponentMarker {

   @Override
   public String toString() {
       final StringBuilder sb = new StringBuilder();
       sb.append("MarkedBean");
       sb.append("{}");
       return sb.toString();
   }

}

File: SimpleBean.java package bean; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.ruponent; import org.springframework.util.ObjectUtils; /**

* @author janm
*/

@Magic class SimpleBean {

   private Dependency dependency;
   @Autowired(required = true)
   public void setDependency(Dependency dependency) {
       this.dependency = dependency;
   }
   @Override
   public String toString() {
       final StringBuilder sb = new StringBuilder();
       sb.append("SimpleBean");
       sb.append(ObjectUtils.identityToString(this));
       sb.append("{dependency=").append(dependency);
       sb.append("}");
       return sb.toString();
   }

} @Component class Dependency {

   @Override
   public String toString() {
       final StringBuilder sb = new StringBuilder();
       sb.append("Dependency");
       sb.append(ObjectUtils.identityToString(this));
       sb.append("{}");
       return sb.toString();
   }

}

File: SimplestBean.java package bean; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.ruponent; /**

* @author janm
*/

@Component("simplestBean") @Scope("prototype") public class SimplestBean {

   @Override
   public String toString() {
       final StringBuilder sb = new StringBuilder();
       sb.append("SimplestBean");
       sb.append("{}");
       return sb.toString();
   }

}

File: ComponentMarker.java package bean;

public interface ComponentMarker { }


      </source>