spring加載ApplicationContext.xml的四種方式


spring加載ApplicationContext.xml的四種方式

 

spring 中加載xml配置文件的方式,好像有4種, xml是最常見的spring 應用系統配置源。Spring中的幾種容器都支持使用xml裝配bean,包括: 
   

 XmlBeanFactory , 
    ClassPathXmlApplicationContext , 
    FileSystemXmlApplicationContext , 
    XmlWebApplicationContext 

 

 



    一:XmlBeanFactory 引用資源 
    

Resource resource = new ClassPathResource("appcontext.xml"); 
    BeanFactory factory = new XmlBeanFactory(resource); 

 

 


    
    二:ClassPathXmlApplicationContext  編譯路徑 

    

ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");

    ApplicationContext ac = new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml","dao.xml"});

  ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:/*.xml");

    ApplicationContext factory=new ClassPathXmlApplicationContext("classpath:appcontext.xml"); 
    ApplicationContext factory=new ClassPathXmlApplicationContext("appcontext.xml");   // src目錄下的 
    ApplicationContext factory=new ClassPathXmlApplicationContext("conf/appcontext.xml");   // src/conf 目錄下的 
    ApplicationContext factory=new ClassPathXmlApplicationContext("file:G:/Test/src/appcontext.xml"); 
    RegisterDAO registerDAO = (RegisterDAO)ac.getBean("RegisterDAO");

 

 

    三 : 用文件系統的路徑 
   

ApplicationContext factory=new FileSystemXmlApplicationContext("src/appcontext.xml"); 
    //使用了  classpath:  前綴,作為標志,  這樣,FileSystemXmlApplicationContext 也能夠讀入classpath下的相對路徑 
    ApplicationContext factory=new FileSystemXmlApplicationContext("classpath:appcontext.xml"); 
    ApplicationContext factory=new FileSystemXmlApplicationContext("file:G:/Test/src/appcontext.xml"); 
    ApplicationContext factory=new FileSystemXmlApplicationContext("G:/Test/src/appcontext.xml");

 

 



    四: XmlWebApplicationContext   是專為Web工程定制的。 
    

ServletContext servletContext = request.getSession().getServletContext(); 
    ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext ); 
 

 

    classpath:前綴是不需要的,默認就是指項目的classpath路徑下面;如果要使用絕對路徑,需要加上file:前綴表示這是絕對路徑;

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM