一、前言
许久没有创建springmvc项目了,本文简单回顾一下,使用纯Java代码做配置与测试
二、搭建步骤
1.创建一个空的maven项目,添加依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.16</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
2.使用Java代码方式配置
spring配置
@Configuration
@ComponentScan(basePackages = "com.lys",useDefaultFilters = true,
excludeFilters = {@ComponentScan.Filter(type = FilterType.ANNOTATION,classes = Controller.class)})
public class SpringConfig {
}
springMVC配置
@Configuration
@ComponentScan(basePackages = "com.lys",useDefaultFilters = false,
includeFilters = {@ComponentScan.Filter(type = FilterType.ANNOTATION,classes = Controller.class)})
public class SpringMvcConfig {
}
web.xml配置
public class WebInit implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
// 加载springmvc的配置文件
context.register(SpringMvcConfig.class);
ServletRegistration.Dynamic springmvc = servletContext.addServlet("springmvc", new DispatcherServlet(context));
springmvc.addMapping("/");
springmvc.setLoadOnStartup(1);
}
}
三、测试
1.写一个简单的controller来测试一下
@RestController
public class HelloController {
@GetMapping("/demo")
public String hello(){
return "demo 123";
}
}
2.配置启动项
点击Edit Configurations,然后点击+,新增tomcat配置,填写完必要的参数后,点击右下角OK保存

3.启动项目,访问http://localhost:8080/demo,即可看到屏幕输出了“demo123”的字样。

四、遇到问题
1.idea社区版没有tomcat支持?

莫慌,社区版安装一下插件支持即可
2.启动提示版本不可用
由于我电脑安装了jdk8和jdk12两个版本,启动时遇到下面的问题。

注意你项目的jdk版本要一致,注意检查下面三个地方要一致。



再次启动项目,就可以解决上述的问题了
如果上面的操作还不能解决,再试试在pom.xml里面手动指定项目的jdk版本,如下:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
3.无法再次启动项目

百度说程序被占用了,我也不知道为舍这个,最后我是通过重启电脑它又好使了。
哪位大神知道这个指点一下哈,哈哈
本次分享到这,下期见!
版权声明:本文为weixin_44107140原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。