zoukankan      html  css  js  c++  java
  • 2015第4周四网摘

    在spring项目的有一个大家熟知的监听器:ContextLoaderListener. 该监听器的作用是在web容器自动运行,加载spring的相关的配置文件,完成类的初始化工作。

    在项目中我们因为某些操作会频繁的使用某些查询语句,但是查询数据量大,非常的耗时,每一个操作都会造成用户的等待时间变长,造成很不不好的体验。解决的一种方法就是写一个监听器,在web容器启动时,让它去查询出数据,并把数据放到缓存中。这样用户每一次操作都会自动从缓存中取出数据。

    具体写法:参考ContextLoaderListener,可以看到它继承的是ServletContextListener接口,并实现了contextInitialized(ServletContextEvent sce)和contextDestroyed(ServletContextEvent sce)方法 ,从方法的名称中我们大概就可以猜出这两个方法的大概作用。


      

    spring中读取资源文件两种方式及应用场景

    1.  利用ClassPathXmlApplicationContext  java 代码
    Code:
    1. ApplicationContext context = new ClassPathXmlApplicationContext("beanConfig.xml");    
    2. HelloBean helloBean = (HelloBean)context.getBean("helloBean");      
    3. System.out.println(helloBean.getHelloWorld());   

    2.利用 FileSystemResource类读取,注意这里的类均来自于spring相关的jar包

    Code:
    1. Resource rs = new FileSystemResource("D:/software/tomcat/webapps/springWebDemo/WEB-INF/classes/beanConfig.xml");      
    2.  BeanFactory factory = new XmlBeanFactory(rs);      
    3. HelloBean helloBean = (HelloBean)factory.getBean("helloBean");      
    4. System.out.println(helloBean.getHelloWorld());      

     场景:上边的两种方法通常运用于项目的单元测试中。第一种方法在我没有使用Maven开放的项目中经常使用。在dao层,service层采用这种方法,配置文件通常在classes目录下,ClassPathXmlApplicationContext()可以很方便的找到。

         第二种方法通常使用于采用Maven管理的项目中。因为项目中每一层都是依赖关系,ClassPathXmlApplicationContext()方法无法查找到classes下的配置文件,需要采取第二种方法。FileSystemResource类属于spring包。


     




  • 相关阅读:
    在IT行业工作如何获得高薪?选择前沿的技术,把准方向,有技术有人缘
    如何去做不想做的事情的 - 10个建议
    如何去做不想做的事情的 - 10个建议
    项目管理
    项目管理
    Spring Quartz 定时任务
    Spring Quartz 定时任务
    Spring @Transactional (一)
    Spring @Transactional (一)
    Search Insert Position
  • 原文地址:https://www.cnblogs.com/doit8791/p/4242871.html
Copyright © 2011-2022 走看看