Springboot+Maven多模块开发 (一)初始化工程(新建第一个web工程)

学习Springboot+maven多模块开发笔记。


首先创建一个空项目,新建一个pom文件,该pom文件是整个工程的parent pom。

Springboot+Maven多模块开发 (一)初始化工程(新建第一个web工程)_第1张图片

pom文件内容如下:



    4.0.0
    com.cn
    SpringBoot
    pom
    1.0.0-SNAPSHOT
    
        webapp-pc
    
    SpringBoot Maven Webapp 
    http://maven.apache.org
    
        
            
                
                org.springframework.boot
                spring-boot-dependencies
                1.3.3.RELEASE
                pom
                import
            
            
            
                org.springframework.boot
                spring-boot-legacy
                1.0.2.RELEASE
            
        
    


 
  

这里用import的方式引入springboot的parent,因为我们要分模块开发,由一个父pom来管理 所有模块的依赖,总不能在每个模块里面都引入。

新建第一个Maven web工程:

Springboot+Maven多模块开发 (一)初始化工程(新建第一个web工程)_第2张图片

webapp-pc的pom文件内容如下:

    
        SpringBoot
        com.cn
        1.0.0-SNAPSHOT
    
    4.0.0
    webapp-pc
    war
    webapp-pc Maven Webapp
    http://maven.apache.org
    
        
            org.springframework.boot
            spring-boot-starter-web
            
            
                
                    org.slf4j
                    log4j-over-slf4j
                
                
                    org.springframework.boot
                    spring-boot-starter-logging
                
            
        
        
        
            org.springframework.boot
            spring-boot-starter-log4j
        
        
        
            org.springframework.boot
            spring-boot-legacy
        
        
        
            org.springframework.boot
            spring-boot-starter-tomcat
            provided
        
    
    
        webapp-pc
    



 
  
我一般喜欢打包成war放到tomcat下运行,不喜欢直接打包成一个富jar执行,所以加入了 spring-boot-legacy依赖,去掉了 spring-boot-starter-tomcat运行依赖。
如果你的servlet容器版本低于2.5,在maven打包war的时候会找不到web.xml而报错,需要在WEB-INF下加入一个空的web.xml:

  

在app启动类里面:
import org.springframework.boot.context.web.SpringBootServletInitializer;

/**
 * Created by XX on 2016/5/2.
 */
@SpringBootApplication
public class App extends SpringBootServletInitializer {

//    private Logger logger = LoggerFactory.getLogger(App.class);

    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(App.class);
    }

    public static void main(String[] args){
        SpringApplication.run(App.class, args);
    }
}
为了打包war包执行,需要继承 SpringBootServletInitializer 。

下面新建一个测试Controller:
package com.cn.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * Created by XX on 2016/5/2.
 */
@RestController
public class TestController {
    
    @RequestMapping("/test")
    public String test(){
        return "webapp start..";
    }
    
}
最后在tomcat启动该工程,在浏览器访问:http://localhost:8080/webapp-pc/test

因为我打包成war包在自己的tomcat发布,所以工程路径和端口都是以tomcat里面设置的为准。

代码路径: 代码github地址

你可能感兴趣的:(Spring,Boot)