I a new to Java Spring MVC web development. I am kind of confused by the 3 config files below. They are auto created by the STS webmvc project template.
root-context.xml
is the Spring Root Application Context Configuration. It's optional. It's for configuring your non-web beans. You need it for Spring Security or OpenEntityManagerInView Filter though. It would be better to place it in meta-inf/spring
.
servlet-context.xml
is the Spring Web Application Context Configuration. It's for configuring your Spring beans in a web application. If you use root-context.xml
, you should put your non-web beans in root-context.xml
, and web beans in servlet-context.xml
.
web.xml
is for configuring your servlet container, such as Tomcat. You need this one too. It's for configuring servlet filters and the servlet. web.xml
is loaded first, then optionally loads your root context, then loads your web context.
You can avoid using xml by using JavaConfig.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With