创建Spring Service,读取文件并根据其数据提供查询

时间:2015-10-27 19:02:01

标签: spring spring-mvc jsf

在使用Spring和JSF的Java Web项目中,我想要这样做:我希望有一个服务,在应用程序的第一次运行中,读取文件并将其数据放入变量。然后其他类可以读取该变量。

事实上,我希望该文件读取一次,之后我只查询数据,甚至通过链接和导航系统更改网页。

是否有Spring注释将类转换为这样的服务?我应该有一些XML配置文件来指定一个类作为服务吗?我不知道自己要做什么。我所知道的是它可以通过Spring完成,我可以从JSF组件中获取数据,但是如何?

我必须基于MVC这样做。

1 个答案:

答案 0 :(得分:0)

您可以在首次调用该服务时加载它。或者,您可以添加ContextListener以在Web上下文启动时初始化服务,假设您正在部署到J2EE容器。或者,您可以使用初始化数据的init方法将该服务作为spring bean。或者任何一种不同的方式。您需要确定哪种方法最适合您的应用。

这是一个春天的例子:

<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/beans
  http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

  <bean id="myService"
        class="org.your.Service" 
        init-method="initializeData"></bean>

</beans>

您如何掌握该服务取决于您。您可以将数据静态存储在类中,也可以使用spring上下文来检索spring bean的这个单个实例。

生命周期方法的Spring文档:http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#beans-factory-lifecycle