springmvc 配置案例 包含pom文件打包方式 maven启动 无xml配置springmvc
时间: 2023-07-12 15:49:11 浏览: 117
springMVC配置环境实现文件上传和下载
好的,这是一个比较常见的问题,我来为您解答。
首先,需要在 pom.xml 文件中添加以下依赖:
```xml
<dependencies>
<!-- Spring MVC -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.9.RELEASE</version>
</dependency>
<!-- Tomcat embedded container-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<version>2.3.4.RELEASE</version>
<scope>provided</scope>
</dependency>
<!-- Jackson for JSON support -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.11.2</version>
</dependency>
</dependencies>
```
接下来,需要创建一个 Java 配置类,用于替代传统的 XML 配置文件。在这个类中,需要使用 @EnableWebMvc 注解启用 Spring MVC,并配置一些基本的设置。以下是一个示例配置类:
```java
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.example.controller")
public class AppConfig implements WebMvcConfigurer {
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**").addResourceLocations("/static/");
}
@Override
public void configureViewResolvers(ViewResolverRegistry registry) {
registry.jsp("/WEB-INF/views/", ".jsp");
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new LoggingInterceptor());
}
@Override
public void addFormatters(FormatterRegistry registry) {
// Add custom formatters here
}
@Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) {
// Add custom argument resolvers here
}
@Override
public void addReturnValueHandlers(List<HandlerMethodReturnValueHandler> handlers) {
// Add custom return value handlers here
}
}
```
在这个配置类中,我们定义了一些常见的配置选项,例如映射静态资源、视图解析器、拦截器等等。您可以根据自己的需要进行相应的修改。
最后,需要编写一个控制器类,用于处理 HTTP 请求和响应。以下是一个示例控制器类:
```java
@Controller
public class HomeController {
@RequestMapping("/")
public String home(Model model) {
model.addAttribute("message", "Hello, World!");
return "home";
}
}
```
在这个控制器类中,我们使用 @Controller 注解标记该类,同时使用 @RequestMapping 注解标记处理请求的方法。在这个示例中,我们定义了一个处理根目录请求的方法,它会向模型中添加一条消息,并返回一个名为 "home" 的视图名称。
最后,您可以使用 Maven 的命令打包项目,并使用以下命令启动项目:
```
mvn clean package
java -jar target/myapp-1.0.0.jar
```
这样,您就可以使用无 XML 配置的 Spring MVC 应用程序进行开发了。
阅读全文