我通过eclipse创建了一个Spring MVC项目。我相信我使用了一些插件来生成项目目录。我在这里找到配置文件。
servlet的context.xml中
我有点熟悉Spring MVC&它的依赖注入。但是我在理解最后两个配置文件(root-context& servlet-context)时遇到了问题。 它们包含哪些配置?
同样在5月的在线示例中,我看到了mvc-dispatcher-servlet.xml。为什么eclipse不能在我的项目中生成这个xml文件?
[重要]我想为我的网络应用设置强大的安全性和用户身份验证。我一直在关注在线教程,他们都创建了一个单独的 名为spring-security.xml的xml文件,并将名称空间信息添加到该文件中。如果我只是创建这个文件并添加名称空间信息就足够了吗?我的意思是 不要'我需要将此文件导入Spring框架扫描的主文件吗?
如何定义以及在何处放置spring application context.xml文件并开始将依赖项连接在一起?此外,如果我定义所有内容(此处所有依赖项),框架如何获取此文件?
谢谢,
答案 0 :(得分:2)
配置文件
如果您检查了web.xml,则会在此处找到root-context.xml
和servlet-context.xml
个文件。一个由Dispatcher Servlet
使用,另一个由Context Loader Listenter
使用。您可以将文件命名为任何文件,除非它们在web.xml中被引用
Eclipse不生成文件
每个编辑都以自己的方式工作。有些可能会生成完整的项目/应用,同时配置了DispatcherServlet
和ContextLoaderListner
,或者只配置了DispatcherServlet
(配置最少)。检查Spring Roo
以基本开头,让您灵活地生成强大的应用。
mvc-dispatcher-servlet.xml 不存在
spring项目中的一些内容是基于约定的,例如,如果你没有在DispatcherServlet
web.xml
mvc-dispatcher-servlet.xml
web.xml
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener- class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring/spring-security.xml
</param-value>
</context-param>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
文件中提供任何文件,如果你有只要它不会寻找。
Spring Security
要配置Spring Security,您需要至少提供一些配置。但问题是在哪里。您只需将此配置添加到root-context.xml
。因此无需将其导入任何其他文件。
servlet-context.xml
在何处定义应用程序context.xml
只需在任何位置定义它,在其中配置bean。 您可以按如下方式添加此文件:
a)将其导入其他配置文件,如<import resource="application-context.xml"/>
或ContextLoaderListner
作为context param
b)将此项添加到web <context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath*:META-INF/spring/application-context*.xml
classpath*:META-INF/spring/abc*.xml
</param-value>
</context-param>
为{{1}}
{{1}}