【java】【重构一】分模块开发设计实战

目录

一、创建项目 

1、先创建一个空项目

2、设置项目SDK等

二、创建父模块 选择springboot

1、创建父模块parent

2、删除多余文件,只保留pom.xml

3、修改pom.xml

4、将部分公共依赖加入到pom

三、创建实体类子模块entity

1、创建实体类子模块entity

2、删除无关文件

3、修改pom

4、复制实体类文件entity到目录下(没有就创建)

四、创建工具类子模块utils

1、创建工具类子模块utils

 2、删除多余文件,只保留pom.xml

3、修改pom.xml 

4、复制实体类文件utils到目录下(没有就创建)

五、创建web项目子模块web-management

1、创建web项目子模块web-management

2、修改pom.xml

3、复制web项目文件

4、新建resources

5、resources新建目录com/bocai/mapper

6、复制相关文件

7、 复制启动程序

六、启动服务

1、启动后端AppApplication

2、启动ngnix 

3、验证数据


前言:接《[JavaWeb]【十四】web后端开发-MAVEN高级》开始从头开始分模块设计java项目

一、创建项目 

1、先创建一个空项目

【java】【重构一】分模块开发设计实战_第1张图片

2、设置项目SDK等

【java】【重构一】分模块开发设计实战_第2张图片

SDK选择1.8,Language Level 选择8。 

【java】【重构一】分模块开发设计实战_第3张图片

二、创建父模块 选择springboot

1、创建父模块parent

【java】【重构一】分模块开发设计实战_第4张图片

【java】【重构一】分模块开发设计实战_第5张图片

2、删除多余文件,只保留pom.xml

【java】【重构一】分模块开发设计实战_第6张图片

3、修改pom.xml



	4.0.0
	
		org.springframework.boot
		spring-boot-starter-parent
		
		2.7.5
		 
	
	
	com.bocai
	bocai-parent
	0.0.1-SNAPSHOT	
	
	pom
	
	
	
	
	
		1.8
	
	
		
		
		
	





	


4、将部分公共依赖加入到pom



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        
        2.7.5
         
    

    com.bocai
    bocai-parent
    0.0.1-SNAPSHOT
    
    pom


    
    
    
        1.8
    
    
        
        
        
            org.projectlombok
            lombok
        

        
        
    



    
    


三、创建实体类子模块entity

1、创建实体类子模块entity

【java】【重构一】分模块开发设计实战_第7张图片

2、删除无关文件

【java】【重构一】分模块开发设计实战_第8张图片

3、修改pom


    4.0.0
    
        com.bocai
        bocai-parent
        0.0.1-SNAPSHOT
        ../bocai-parent/pom.xml
    

    bocai-entity
    
    

    bocai-entity
    http://maven.apache.org

    
        UTF-8
    

    

        
        
    

4、复制实体类文件entity到目录下(没有就创建)

【java】【重构一】分模块开发设计实战_第9张图片

四、创建工具类子模块utils

1、创建工具类子模块utils

 【java】【重构一】分模块开发设计实战_第10张图片

 2、删除多余文件,只保留pom.xml

3、修改pom.xml 


    4.0.0
    
        com.bocai
        bocai-parent
        0.0.1-SNAPSHOT
        ../bocai-parent/pom.xml
    

    bocai-utils
    
    

    bocai-utils
    http://maven.apache.org

    
        UTF-8
    

    

        
        

        
        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
        
            com.aliyun.oss
            aliyun-sdk-oss
            3.15.1
        
        
            javax.xml.bind
            jaxb-api
            2.3.1
        
        
            javax.activation
            activation
            1.1.1
        
        
        
            org.glassfish.jaxb
            jaxb-runtime
            2.3.3
        



        
        
            io.jsonwebtoken
            jjwt
            0.9.1
        
    

4、复制实体类文件utils到目录下(没有就创建)

【java】【重构一】分模块开发设计实战_第11张图片

五、创建web项目子模块web-management

1、创建web项目子模块web-management

【java】【重构一】分模块开发设计实战_第12张图片

2、修改pom.xml

核心是引入本文的子模块entity和utils


    4.0.0
    
        com.bocai
        bocai-parent
        0.0.1-SNAPSHOT
        ../bocai-parent/pom.xml
    

    bocai-web-management
    
    

    bocai-web-management
    http://maven.apache.org

    
        UTF-8
    

    
        
        

        
        
            com.bocai
            bocai-entity
            0.0.1-SNAPSHOT
        
        
            com.bocai
            bocai-utils
            0.0.1-SNAPSHOT
        

        

        
        
            org.springframework.boot
            spring-boot-starter-web
        
        

        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            2.3.1
        
        
        
            com.mysql
            mysql-connector-j
            runtime
        

        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        

        
        
            com.github.pagehelper
            pagehelper-spring-boot-starter
            1.4.6
        


        
        
            com.alibaba
            fastjson
            1.2.76
        

        
        
            org.springframework.boot
            spring-boot-starter-aop
        

    


        
            
                org.springframework.boot
                spring-boot-maven-plugin
                
                    
                        
                            org.projectlombok
                            lombok
                        
                    
                
            
        
    

 

3、复制web项目文件

部分文件可能会报错,主要体现在  web起步依赖 ,到每个文件单独处理一下

【java】【重构一】分模块开发设计实战_第13张图片

4、新建resources

【java】【重构一】分模块开发设计实战_第14张图片

5、resources新建目录com/bocai/mapper

【java】【重构一】分模块开发设计实战_第15张图片

6、复制相关文件

【java】【重构一】分模块开发设计实战_第16张图片

7、 复制启动程序

【java】【重构一】分模块开发设计实战_第17张图片

package com.bocai;

import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;


@Slf4j
@ServletComponentScan  //开启了对servlet组件支持  Filter
@SpringBootApplication
public class AppApplication {

    public static void main(String[] args) {

        SpringApplication.run(AppApplication.class, args);
        log.info("============ 服务启动完成!=====================");
    }


}

 AppApplicationTests 注释了一个测试代码,打包的时候报错

package com.bocai;

import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

@SpringBootTest
class AppApplicationTests {

    @Test
    void contextLoads() {
    }

    /**
     * 生成Jwt令牌
     */
    @Test
    public void testGenJwt(){
        Map claims = new HashMap<>();
        claims.put("id",1);
        claims.put("name","bocai");
        String jwt = Jwts.builder()
                .signWith(SignatureAlgorithm.HS256, "bocai") // 签名算法 算法有哪些上官网
                .setClaims(claims) //自定义的内容(载荷)
                .setExpiration(new Date(System.currentTimeMillis() + 3600* 1000)) // 设置有效期为1h
                .compact();
        System.out.println(jwt);

    }

    /**
     * 解析Jwt, parseClaimsJws(换成上面生成的jwt)
     */
//    @Test
//    public void testPareJwt(){
//        Claims claims = Jwts.parser()
//                .setSigningKey("bocai") //runa要与前面生成一致
//                .parseClaimsJws("eyJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiYm9jYWkiLCJpZCI6MSwiZXhwIjoxNjk3NTM5MTQzfQ.kh_8USqITQHQvnOpWuF8Z7BB0x_BVhfZvOgF1JMcj8o")
//                .getBody();
//        System.out.println(claims);
//
//    }

}

六、启动服务

1、启动后端AppApplication

【java】【重构一】分模块开发设计实战_第18张图片

2、启动ngnix 

3、验证数据

【java】【重构一】分模块开发设计实战_第19张图片

你可能感兴趣的:(java,java,开发语言)