使用IDEA的众筹项目(一)环境搭建

视频地址: https://www.bilibili.com/video/av44673048

一. maven相关知识点回顾

功能特点:

  1. 依赖管理
  2. 一键构建

基本命令:

  1. mvn clean
  2. mvn compile
  3. mvn test
  4. mvn package
  5. mvn clean
  6. mvn install

坐标:

  • groupId:所需Jar包的项目名
  • artifactId:所需Jar包的模块名
  • version:所需Jar包的版本号

排除依赖:


    
        cn.missbe.web.search
        resource-search
        pom
        1.0-SNAPSHOT
    

依赖范围scope:

  • compile :默认范围,用于编译
  • provided:提供,告诉mevan这个jar包服务器有
  • runtime: 在执行时需要使用
  • test: 用于test任务时使用 ,不会被打包
  • system: 需要外在提供相应的元素,通过systemPath来取得
  • systemPath: 仅用于范围为system,提供相应的路径
  • optional: 当项目自身被依赖时,标注依赖是否传递。用于连续依赖时使用

依赖冲突:

  1. 短路优先(就近原则)
    谁的路径就近引用谁
  2. 声明优先
    在1的情况下,谁先在pom.xml中声明谁优先

聚合:

  1. 概念
    将多个项目同时运行,即所有项目同时进行install、packet等命令,不需要根据依赖关系必须先运行依赖的项目

  2. 实现
    使用module标签

     
         ../bean
         ../common
         ../web
         ../manager-api
         ../manager-impl
         ../potal-api
         ../potal-impl
     
    

继承:

  1. 概念
    在聚合多个项目时,如果这些被聚合的项目中需要引入相同的Jar,那么可以将这些Jar写入父pom中,各个子项目继承该pom即可

  2. 实现

    1. 父工程统一管理jar包,打包方式必须为pom。小技巧:可以使用properties标签进行同一版本管理

        com.itstudy
        parent
        1.0-SNAPSHOT
        pom
      

      使用dependencyManagement 标签对所有依赖进行管理

        
            
                
                    javax.servlet
                    servlet-api
                    2.5
                    provided
                
                <!--   省略  ...  -- >
          
      
    2. 子工程只需使用parent标签声明父工程,后引用父工程依赖即可,不需要带version。注意:web工程打包方式为war,其它工程打包方式为jar。不需要带version

       
        parent
        com.itstudy
        1.0-SNAPSHOT
        ../parent/pom.xml
        
        4.0.0
        
        manager-api
        jar
      
         
         		
          	  		javax.servlet
         	   		servlet-api
          		
               <!--   省略  ...  -- >
          
      

二. 环境搭建

1.new一个空工程,创建8个项目。分别为

  1. parent - 父工程 :聚合其它工程(打包方式为: war)

  2. web - web工程:存放所有页面,框架配置文件(jar)

  3. manager -impl:后台管理系统,存放控制器类,业务层实现类(jar)

  4. manager-api 后台管理系统,存放业务层接口和DAO层接口(jar)

  5. potal-impl 前台系统,存放控制器类,业务层实现类(jar)

  6. potal-api 前台系统,存放业务层接口和DAO层接口(jar)

  7. common 存放所有模块所需要的公共类(jar)

  8. bean 存放所有模块的实体类(jar)

    使用IDEA的众筹项目(一)环境搭建_第1张图片

2.根据图示依赖关系,建立各项目之间的依赖关系

使用IDEA的众筹项目(一)环境搭建_第2张图片
实例:由图项目manager-api依赖项目bean和项目common(依赖谁就将谁的坐标放在pom文件)

	 
            com.itstudy
            bean
            1.0-SNAPSHOT
        

        
            com.itstudy
            common
            1.0-SNAPSHOT
        

3. 构建ssm框架

  1. 在web项目中进行如下配置
    使用IDEA的众筹项目(一)环境搭建_第3张图片
    web.xml:

     
     
         crw
         
             contextConfigLocation
             classpath*:spring/spring-*.xml
         
     
         
         
             org.springframework.web.context.ContextLoaderListener
         
     
         
         
             encoding
             org.springframework.web.filter.CharacterEncodingFilter
             
                 encoding
                 UTF-8
             
             
                 forceEncoding
                 true
             
         
         
             encoding
             /*
     
             
             
             
         
     
             
         
             HiddenHttpMethodFilter
             org.springframework.web.filter.HiddenHttpMethodFilter
         
         
             HiddenHttpMethodFilter
             springmvc
         
     
     
     
         
             springmvc
             org.springframework.web.servlet.DispatcherServlet
             
                 contextConfigLocation
                 classpath:spring/springmvc-context.xml
             
             
             1
         
         
             springmvc
             
             *.htm
             *.do
         
     
         
         
             60
         
     
         
             index.jsp
         
     
    

    log4j:

     # ##设置日志级别
     # log4j.rootLogger=info,debug,CONSOLE,file
     log4j.rootLogger=debug,CONSOLE,file
     # ## 指定输出信息到控制台
     log4j.addivity.org.apache=true
     log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
     # thread属性,指定日志level.根据日志的重要程度,可以分为off,fatal,error,warn,info,debug。
     log4j.appender.CONSOLE.Threshold=info
     log4j.appender.CONSOLE.Target=System.out
     log4j.appender.CONSOLE.Encoding= UTF-8
     log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
     log4j.appender.appender1.MaxFileSize=100KB
     
     # ##输出Debug级别以上的日志到log文件夹下。
     log4j.appender.file=org.apache.log4j.DailyRollingFileAppender  
     log4j.appender.file.DatePattern=yyyyMMdd
     log4j.appender.file.File=../logs/teachingManagementService.log
     # 每天的日志打印就不需要设置大小属性
     # log4j.appender.file.MaxFileSize=20MB
     # log4j.appender.file.MaxBackupIndex=10
     log4j.appender.file.layout=org.apache.log4j.PatternLayout  
     log4j.appender.file.layout.ConversionPattern=%d [%X{uuid}] [%X{ip}] [%X{userId}] %-5p %l - %m%n
     
     log4j.logger.com.alibaba.dubbo=error
    

    springmvc-context.xml:

     
     
     
         
         
         
         
         
                
     	         
     	                
     	                
     	                      
     	                          application/json;charset=UTF-8
     	                        
     	                   
     	                
     	            
     	    
         
         
         
             
         
     
         
         
             
             
             
         
     
         
           
               
                 
                     error/error
                   
               
         
     
         
         
             
             
         
     
    

    spring-context.xml

     
     	
     	
     		
     			
     		
     	
     		
     		
     			
     		
     		
     		
     		
     			
     			
     			
     			
     		
     		
     		
     		    
     		    
     		    
     		        
     		            classpath*:mybatis/mapper-*.xml
     		        
     		    
     		
     		
     		
     		
     			
     			
     		
     	
     		
     		
     			
     		
     		
     		
     			
     				
     				
     			
     		
     	
     	
     		
     		
     			
     				
     	
     	
    

    mybatis-config.xml:

     	
     
     
         
             
         
     
    

    jdbc.properties:

     jdbc.user=root
     jdbc.password=123456
     jdbc.url=jdbc:mysql://192.168.0.105:3306/2019-8-04?rewriteBatchedStatements=true&useUnicode=true&characterEncoding=utf8
     jdbc.driver=com.mysql.jdbc.Driver
    
  2. 在其余除父工程外均创建如下类,切记包名一定要相同
    使用IDEA的众筹项目(一)环境搭建_第4张图片

4.测试环境

  1. 在manger-api和manger-impl工程中按如图所示构建
    使用IDEA的众筹项目(一)环境搭建_第5张图片
    TestDao:

     package com.itstudy.crw.manager.dao;
     
     import org.springframework.stereotype.Repository;
     
     import java.util.Map;
     
     @Repository
     public interface TestDao {
     
         public void insert(Map map);
     }
    

    TestService:

     package com.itstudy.crw.manager.service;
     
     public interface TestService {
     
         public void insert();
     }
    

    TestController:

    package com.itstudy.crw.manager.controller;
     
     
     import com.itstudy.crw.manager.service.TestService;
     import org.springframework.beans.factory.annotation.Autowired;
     import org.springframework.stereotype.Controller;
     import org.springframework.web.bind.annotation.RequestMapping;
     
     @Controller
     public class TestController {
     
         @Autowired
         private TestService testService;
     
         @RequestMapping("/test")
         public String test(){
     
             testService.insert();
             System.out.println("testController执行了");
             return  "success";
         }
     
     
     }
    

    TestServiceImpl:

     package com.itstudy.crw.manager.serviceImpl;
     
     import com.itstudy.crw.manager.dao.TestDao;
     import com.itstudy.crw.manager.service.TestService;
     import org.springframework.beans.factory.annotation.Autowired;
     import org.springframework.stereotype.Service;
     
     import java.util.HashMap;
     import java.util.Map;
     
     @Service
     public class TestServiceImpl implements TestService {
     
     
        @Autowired
         private TestDao testDao;
     
         public void insert() {
             Map map = new HashMap();
             map.put("name","lisi");
     
             testDao.insert(map);
     
         }
     }
    

    mapper-user.xml:

     
     
     
     
     
     
         
             insert into t_student (
             name
             ) values (
             #{name}
             )
     
         
     
     
     
         
     
    
  2. 配置tomcat并启动
    使用IDEA的众筹项目(一)环境搭建_第6张图片
    使用IDEA的众筹项目(一)环境搭建_第7张图片

  3. 运行成功
    使用IDEA的众筹项目(一)环境搭建_第8张图片
    在这里插入图片描述
    在这里插入图片描述

你可能感兴趣的:(IDEA版众筹项目)