Search By Base Package : ApplicationContext « Spring « Java Tutorial






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.Component;
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.Component;

/**
 * @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 {
}
  Download:  Spring-SerachByBasePackage.zip( 4,454 k)








28.2.ApplicationContext
28.2.1.ApplicationContext component scan
28.2.2.Component Filter Assignable
28.2.3.Search By Base Package
28.2.4.Implements ApplicationListener
28.2.5.Implements ApplicationEvent Publisher Aware
28.2.6.Filter By Annotation
28.2.7.ApplicationContext Aware
28.2.8.ApplicationContext And BeanFactory PostProcessor