一:AnnotationConfigApplicationContext 使用方式1:构造参数为包名
//扫描指定包,以及其子包,下的所有类 AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext("包名"); A a = ctx.getBean(A.class); System.out.println(a);使用方式2:构造参数为指定类
//扫描指定类,以及该类同级包,和同级包下的所有类 //(spring boot默认方式,也是SpringApplication类的底层实现) @ComponentScan//此处多出该注解 public class TestMain { public static void main(String[] args) { AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(TestMain.class); } }使用方式2:无构造参数
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(); ctx.refresh();//无参构造方法需要手动刷新才行,一般多用于动态注册bean二:ClassPathXmlApplicationContext boot没出来之前的xml方式启动
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext( "classpath:/com/example/sp.xml"); A a = ctx.getBean(A.class); System.out.println(a);