在java项目中实例化beanfactory的位置

时间:2014-10-09 12:43:50

标签: java spring java-ee

我是Java和Spring世界的新手,所以请耐心等待。我正在研究我的第一个java项目。这里我使用Spring框架,从ApplicationContext创建一个对象。

我在项目中有多个文件在不同的包中,例如 dao,lib,util,等。我的问题是下面的行应该去哪里。我将使用下面给出的类似代码在不同的地方创建多个类的对象。我应该在任何需要“组织地图服务”的对象的地方使用它们吗?还是其他一些课程?这样做的标准方法是什么?

ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");

OrganizationMapperService orgMapperService = 
    (OrganizationMapperService) context.getBean("organizationMapperService");

2 个答案:

答案 0 :(得分:0)

如果您要创建Web应用程序,则应在web.xml中配置应用程序上下文加载器:

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        /WEB-INF/context/applicationContext.xml,/WEB-INF/context/applicationContext-*.xml,classpath:context/visibility-applicationContext.xml,classpath:eventbus-applicationContext.xml,classpath:context/clients-applicationContext-ws.xml
    </param-value>
</context-param>

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

答案 1 :(得分:0)

您希望在容器加载期间注入的引用可以在应用程序上下文文件中声明为bean,如下所示:

<context:component-scan base-package="package.name"></context:component-scan>

<bean id="abc" class=" package.name.Abc" />

组件扫描将自动扫描组件。

现在,您可以在iin类中自动添加要使用它的引用,如下所示:

@Autowired
private Abc abc

您需要在web.xml中输入applicationContext文件。