我从 SpringBoot 开始,看起来很棒,但我有一些我无法理解或在文档中解释的问题。
我使用 Web,JPA,安全和 MySQL 依赖项创建了一个新项目。创建项目后,我将创建一个@Controller
类。 Spring没有找到@RequestMapping
或ModelAndView
类。
我猜想使用SpringBoot的Web模块会添加所有必要的依赖项来使用 SpringMVC (我读了一些示例,没有添加额外的依赖项)并且所有工作都很棒与MVC。
这些是我的依赖项:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-groovy-templates</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<scope>test</scope>
</dependency>
<!-- Utils -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>22.0</version>
</dependency>
</dependencies>
其他示例是我无法解析的 WebMvcConfigurerAdapter (来自spring-mcv)类: org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
这个类来自,但我没有看到Springboot包含这个依赖: org.springframework 弹簧webmvc
也许我错了,并阅读了一些将Spring Boot中所有信息集中在一起的帖子,但是没有在poms中显示手动配置。
WebApplication 类(自动生成):
@SpringBootApplication
public class WebApplication {
public static void main(String[] args) {
SpringApplication.run(WebApplication.class, args);
}
}
ServletInitializer.java类(自动生成)
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(WebApplication.class);
}
}