我们这边隔离掉dog这个bean
启动类
import org.springframework.context.annotation.AnnotationConfigApplicationContext; /** * @author rainyday * @createTime 2018/6/3. */ public class AnnotationClient2 { public static void main(String[] args) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(AnnotationScan.class); System.out.println(context.getBean(Dog.class)); context.close(); } }
包扫描类
import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.FilterType; /** * 扫包隔离一个bean * @author rainyday * @createTime 2018/6/3. */ @ComponentScan(basePackages = "spring4",excludeFilters = @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = DogConfig.class )) @Configuration public class AnnotationScan { }
隔离配置类
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** * @author rainyday * @createTime 2018/6/3. */ @Configuration public class DogConfig { // init 和 destory是bean加载的初始化和销毁方法 @Bean(initMethod = "init", destroyMethod = "destory") public Dog createDog() { return new Dog(); } }
bean对象
/** * @author rainyday * @createTime 2018/6/3. */ public class Dog { public void init() { System.out.println("init ============= "); } public void destory() { System.out.println("destory ==================="); } }