Spring boot ApplicationContext

https://www.geeksforgeeks.org/spring-applicationcontext/

  1. 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

       

  1. AnnotationConfigWebApplicationContext
public class MyWebApplicationInitializer implements WebApplicationInitializer {

  public void onStartup(ServletContext container) throws ServletException {
    AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
    context.register(AppConfig.class);
    context.setServletContext(container);

  }
}
  1. 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);
  }
}
  1. 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);
}

你可能感兴趣的:(spring,boot,后端,java)