springmvc-源码调试-1

配置

  1. 参考之前文章导入源码等文章
  2. 新建Mdel,
    在这里插入图片描述
  3. 修改当前项目的build.gradle
    在这里插入图片描述
  4. 添加下面内容
plugins {
    id 'java'
}

group 'org.springframework'
version '5.3.0-SNAPSHOT'

repositories {
    mavenCentral()
}

dependencies {
    compile(project(":spring-beans"))
    compile(project(":spring-oxm"))
    compile(project(":spring-aspects"))
    compile(project(":spring-core"))
    compile(project(":spring-aop"))
    compile(project(":spring-web"))
    compile(project(":spring-webmvc"))
    compile(project(":spring-context"))
    compileOnly 'org.projectlombok:lombok:1.18.6'
    annotationProcessor 'org.projectlombok:lombok:1.18.6'
    compile group: 'org.apache.tomcat.embed', name: 'tomcat-embed-core', version: '8.5.32'
    compile group: 'com.alibaba', name: 'fastjson', version: '1.2.47'
    compileOnly group: 'junit', name: 'junit', version: '4.8'
}
tasks.withType(JavaCompile) {
    options.encoding = "UTF-8"
}

建立Demo

建立Controller

@RestController("test")
public class TestController {


    public TestController() {
        System.out.println("初始化成功过");
    }

    @RequestMapping("test")
    public void test() throws Exception {
        System.out.println("cc");
    }
}

建立启动类

为了方便,我是代码调试

@ComponentScan
public class AnnotatedBeanDefinitionReaderContext {

    public static void main(String[] args) throws LifecycleException {
        File base = new File(System.getProperty("java.io.tmpdir"));
        Tomcat tomcat = new Tomcat();
        tomcat.setPort(8080);
        tomcat.addContext("/",base.getAbsolutePath());
        tomcat.start();
        Wrapper wrapper = tomcat.addServlet("/","app",getDispatcherServlet());
        wrapper.setLoadOnStartup(1);
        wrapper.addMapping("/");
        tomcat.getServer().await();

    }


    public static DispatcherServlet getDispatcherServlet() {
        //容器添加需要启动的ApplicationContext
        AnnotationConfigWebApplicationContext annotationConfigWebApplicationContext
                = new AnnotationConfigWebApplicationContext();
        annotationConfigWebApplicationContext.register(AnnotatedBeanDefinitionReaderContext.class);
        annotationConfigWebApplicationContext.refresh();
        return new DispatcherServlet(annotationConfigWebApplicationContext);
    }

}


问题

这里需要注意是 tomcat 8.0 ,不要用 9.0 使用 9.0 会有问题. 问题是啥未知没有去深究这个问题…
在这里插入图片描述

如果是IDEA 的话 Ctrl+Shitf+F 搜索org.apache.tomcat.embed 将版本号改成8.5.32,
在这里插入图片描述
这个就是我全局搜索的… 原先是 9.0.xx 来着我改成 8.5.32了…

后言

我本地测试是成功的不代表你的环境和我的环境是一致的所以有任何问题可以留言讨论…

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值