https://www.geeksforgeeks.org/spring-applicationcontext/
- AnnotationConfigApplicationContext container
对象直接标注annotation: @Configuration, @Component ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class, AppConfig1.class); @ComponentScan({"controller","service","repository","pojo"}) @EnableJpaRepositories("repository") @EntityScan("pojo") @EnableAutoConfiguration @Configuration public class Config { } application.properties spring.main.allow-bean-definition-overriding=true |
- AnnotationConfigWebApplicationContext
public class MyWebApplicationInitializer implements WebApplicationInitializer { public void onStartup(ServletContext container) throws ServletException { AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext(); context.register(AppConfig.class); context.setServletContext(container); } } |
- XmlWebApplicationContext
public class MyXmlWebApplicationInitializer implements WebApplicationInitializer { public void onStartup(ServletContext container) throws ServletException { XmlWebApplicationContext context = new XmlWebApplicationContext(); context.setConfigLocation("/WEB-INF/spring/applicationContext.xml"); context.setServletContext(container); } } |
- FileSystemXmlApplicationContext
String path = "C:/demoProject/src/main/resources/applicationcontext/student-bean-config.xml"; ApplicationContext context = new FileSystemXmlApplicationContext(path); StudentService stuSvc= context.getBean("studentService", StudentService.class); |
ClassPathXmlApplicationContext
ApplicationContext context = new ClassPathXmlApplicationContext("applicationcontext/student-bean-config.xml"); StudentService studentService = context.getBean("studentService", StudentService.class); |
@Import(Config.class) @SpringBootApplication public static void main(String[] args) { ApplicationContext context = SpringApplication.run(DemoApplication.class, args); Student student = context.getBean(Student.class); } |