Maven高级-学习笔记01【Maven分模块构建】

  • Java后端 学习路线 笔记汇总表【黑马程序员】
  1. Maven高级-学习笔记01【Maven分模块构建】

  2. Maven高级-学习笔记02【私服】

目录

01-maven高级应用课程介绍

02-maven基础知识回顾

03-案例环境准备

1、数据库环境准备

2、idea项目配置

04-maven导入jar包时冲突的解决

1、pom.xml配置

2、三大框架jar包

05-pom文件内标签的讲解

1、锁定jar包版本

2、统一管理jar包版本

06-案例dao层代码编写

1、ItemsDao.java

2、ItemsDao.xml

3、applicationContext.xml

4、ItemsTest.java

07-案例service层代码编写

08-案例web层代码编写

09-maven工程拆分与聚合的思想

10-maven父子工程的创建

11-工程和模块的关系以及继承和依赖的概念

12-传递依赖下来的包是否能用

13-在父子工程中填充代码

14-maven父子工程三种启动方式

1、第一种启动方式:直接通过父工程启动

2、第二种启动方式

3、第三种启动方式:Tomcat启动


01-maven高级应用课程介绍

maven高级应用:

  1. maven基础回顾。
  2. maven传统的web工程做一个数据查询操作。
  3. maven工程拆分与聚合的思想。
  4. 把第二阶段做好的web工程修改成maven拆分与聚合的形式。
  5. 私服【远程仓库】。
  6. 如何安装第三方jar包【把第三方jar包安装到本地仓库,把第三方jar包安装到私服】。

02-maven基础知识回顾

maven基础知识回顾
maven是一个项目管理工具。
依赖管理:maven对项目中jar包的管理过程。传统工程我们直接把jar包放置在项目中。
                  maven工程真正的jar包放置在仓库中,项目中只用放置jar包的坐标。
仓库的种类:本地仓库、远程仓库(私服)、中央仓库。

        1.本地仓库:自己电脑上的仓库。

        2.远程仓库(私服):放置公司内部开发所需的jar包。

        3.中央仓库:本地仓库(可以联网的前提下)联网之后从中央仓库下载jar包。

仓库之间的关系:当我们启动一个maven工程的时候,maven工程会通过pom文件中jar包的坐标去本地仓库找对应jar包。
                默认情况下,如果本地仓库没有对应jar包,maven工程会自动去中央仓库下载jar包到本地仓库中。
        在公司中,如果本地没有对应jar包,会先从私服下载jar包;如果私服没有jar包,可以从中央仓库下载,也可以从本地上传。
一键构建:maven自身集成了tomcat插件,可以对项目进行编译、测试、打包、安装、发布等操作。
maven常用命令:clean-清理项目之前有过的构建信息、compile-对src目录下的java文件进行编译、test-编译后进行测试、package-打包本地项目、install-把包安装到本地仓库、deploy-把本地做好的项目直接打包上传到私服。
maven三套生命周期:清理生命周期、默认生命周期、站点生命周期。

03-案例环境准备

1、数据库环境准备

Maven高级-学习笔记01【Maven分模块构建】_第1张图片

Maven高级-学习笔记01【Maven分模块构建】_第2张图片

Maven高级-学习笔记01【Maven分模块构建】_第3张图片

Maven高级-学习笔记01【Maven分模块构建】_第4张图片

Maven高级-学习笔记01【Maven分模块构建】_第5张图片

/*
Navicat MySQL Data Transfer

Source Server         : localhost_3306
Source Server Version : 50096
Source Host           : localhost:3306
Source Database       : maven_ssm

Target Server Type    : MYSQL
Target Server Version : 50096
File Encoding         : 65001

Date: 2018-04-23 14:07:06
*/

SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `items`
-- ----------------------------
DROP TABLE IF EXISTS `items`;
CREATE TABLE `items` (
  `id` int(10) NOT NULL auto_increment,
  `name` varchar(20) default NULL,
  `price` float(10,0) default NULL,
  `pic` varchar(40) default NULL,
  `createtime` datetime default NULL,
  `detail` varchar(200) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of items
-- ----------------------------
INSERT INTO `items` VALUES ('1', '传智播客', '1000', null, '2018-03-13 09:29:30', '带我走上人生巅峰');
INSERT INTO `items` VALUES ('2', '黑马310', null, null, '2018-03-28 10:05:52', '插入测试');
INSERT INTO `items` VALUES ('3', '黑马307', '199', null, '2018-03-07 10:08:04', '插入测试');
INSERT INTO `items` VALUES ('7', '插入测试', null, null, null, null);
INSERT INTO `items` VALUES ('8', '插入测试', null, null, null, null);

2、idea项目配置

Maven高级-学习笔记01【Maven分模块构建】_第6张图片

Maven高级-学习笔记01【Maven分模块构建】_第7张图片


         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
          http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         version="3.0">

04-maven导入jar包时冲突的解决

1、pom.xml配置



    4.0.0

    com.itheima
    maven_day02_1
    1.0-SNAPSHOT
    war

    
        
            org.springframework
            spring-beans
            4.2.4.RELEASE
        
        
            org.springframework
            spring-context
            5.0.2.RELEASE
        
        
        org.springframework
        spring-core
        4.2.8.RELEASE
    
    


    4.0.0

    com.itheima
    maven_day02_1
    1.0-SNAPSHOT
    war

    
    
        
            org.springframework
            spring-beans
            4.2.4.RELEASE
            
                
                    org.springframework
                    spring-core
                    
                
            
        
        
            org.springframework
            spring-context
            5.0.2.RELEASE
        
        
    

2、三大框架jar包



    4.0.0

    com.itheima
    maven_day02_1
    1.0-SNAPSHOT
    war

    
    
    
        5.0.2.RELEASE
        1.6.6
        1.2.12
        1.2.3
        5.1.6
        3.4.5
        5.0.1.RELEASE
    

    
    
        
            
                org.springframework
                spring-context
                ${spring.version}
            
            
                org.springframework
                spring-web
                ${spring.version}
            
            
                org.springframework
                spring-webmvc
                ${spring.version}
            
            
                org.springframework
                spring-tx
                ${spring.version}
            
            
                org.springframework
                spring-test
                ${spring.version}
            
            
                org.mybatis
                mybatis
                ${mybatis.version}
            
        
    

    
    
        
        
            org.aspectj
            aspectjweaver
            1.6.8
        
        
            org.springframework
            spring-aop
            ${spring.version}
        
        
            org.springframework
            spring-context
            ${spring.version}
        
        
            org.springframework
            spring-context-support
            ${spring.version}
        
        
            org.springframework
            spring-web
            ${spring.version}
        
        
            org.springframework
            spring-orm
            ${spring.version}
        
        
            org.springframework
            spring-beans
            ${spring.version}
        
        
            org.springframework
            spring-core
            ${spring.version}
        
        
            org.springframework
            spring-test
            ${spring.version}
        
        
            org.springframework
            spring-webmvc
            ${spring.version}
        
        
            org.springframework
            spring-tx
            ${spring.version}
        
        
            junit
            junit
            4.12
            test
        
        
            mysql
            mysql-connector-java
            ${mysql.version}
        
        
            javax.servlet
            javax.servlet-api
            3.1.0
            provided
        
        
            javax.servlet.jsp
            jsp-api
            2.0
            provided
        
        
            jstl
            jstl
            1.2
        
        
        
            log4j
            log4j
            ${log4j.version}
        
        
            org.slf4j
            slf4j-api
            ${slf4j.version}
        
        
            org.slf4j
            slf4j-log4j12
            ${slf4j.version}
        
        
        
            org.mybatis
            mybatis
            ${mybatis.version}
        
        
            org.mybatis
            mybatis-spring
            1.3.0
        
        
            c3p0
            c3p0
            0.9.1.2
            jar
            compile
        
        
            com.github.pagehelper
            pagehelper
            5.1.2
        
        
            org.springframework.security
            spring-security-web
            ${spring.security.version}
        
        
            org.springframework.security
            spring-security-config
            ${spring.security.version}
        
        
            org.springframework.security
            spring-security-core
            ${spring.security.version}
        
        
            org.springframework.security
            spring-security-taglibs
            ${spring.security.version}
        
        
            com.alibaba
            druid
            1.0.9
        
    
    
    
        
            
                org.apache.tomcat.maven
                tomcat7-maven-plugin
                2.2
            
        
    

05-pom文件内标签的讲解

1、锁定jar包版本

Maven高级-学习笔记01【Maven分模块构建】_第8张图片

2、统一管理jar包版本

Maven高级-学习笔记01【Maven分模块构建】_第9张图片

06-案例dao层代码编写

Maven高级-学习笔记01【Maven分模块构建】_第10张图片

Maven高级-学习笔记01【Maven分模块构建】_第11张图片

1、ItemsDao.java

package com.itheima.dao;

import com.itheima.domain.Items;

public interface ItemsDao {
    public Items findById(Integer id);
}

2、ItemsDao.xml




    

3、applicationContext.xml



    
    
    
        
        
        
        
    

    
    
        
        
        
    

    
    
        
    
    

4、ItemsTest.java

package com.itheima.test;

import com.itheima.dao.ItemsDao;
import com.itheima.domain.Items;
import org.junit.jupiter.api.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class ItemsTest {
    @Test
    public void findById() {
        //获取spring容器
        ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
        //从容器中拿到所需的dao代理对象
        ItemsDao itemsDao = ac.getBean(ItemsDao.class);
        //调用方法
        Items items = itemsDao.findById(1);
        System.out.println(items.getName());
    }
}

07-案例service层代码编写

Maven高级-学习笔记01【Maven分模块构建】_第12张图片

08-案例web层代码编写

Maven高级-学习笔记01【Maven分模块构建】_第13张图片

Maven高级-学习笔记01【Maven分模块构建】_第14张图片

09-maven工程拆分与聚合的思想

Maven高级-学习笔记01【Maven分模块构建】_第15张图片 maven工程拆分与聚合的思想

10-maven父子工程的创建

Maven高级-学习笔记01【Maven分模块构建】_第16张图片

11-工程和模块的关系以及继承和依赖的概念




    4.0.0
    
    org.example
    maven_day02_parent
    pom
    1.0-SNAPSHOT
    
        maven_day02_dao
        maven_day02_service
        maven_day02_web
    

    
        8
        8
    

    
        
            org.example
            maven_day02_service
            1.0-SNAPSHOT
        
    

12-传递依赖下来的包是否能用

Maven高级-学习笔记01【Maven分模块构建】_第17张图片 传递依赖下来的包是否能用

13-在父子工程中填充代码

Maven高级-学习笔记01【Maven分模块构建】_第18张图片

14-maven父子工程三种启动方式

1、第一种启动方式:直接通过父工程启动

Maven高级-学习笔记01【Maven分模块构建】_第19张图片

Maven高级-学习笔记01【Maven分模块构建】_第20张图片

Maven高级-学习笔记01【Maven分模块构建】_第21张图片

2、第二种启动方式

Maven高级-学习笔记01【Maven分模块构建】_第22张图片

Maven高级-学习笔记01【Maven分模块构建】_第23张图片

3、第三种启动方式:Tomcat启动

Maven高级-学习笔记01【Maven分模块构建】_第24张图片 Maven高级-学习笔记01【Maven分模块构建】_第25张图片

Maven高级-学习笔记01【Maven分模块构建】_第26张图片 Maven高级-学习笔记01【Maven分模块构建】_第27张图片

Maven高级-学习笔记01【Maven分模块构建】_第28张图片

Maven高级-学习笔记01【Maven分模块构建】_第29张图片

Maven高级-学习笔记01【Maven分模块构建】_第30张图片 Maven高级-学习笔记01【Maven分模块构建】_第31张图片

计算机类公众号:

(01)我爱计算机视觉
(02)Cver
(03)Datawhale
(04)量子位
(05)极市平台
(06)新智元
(07)机器之心
(08)AI算法与图像处理
(09)Opencv学堂
(10)PaperWeekly
(11)机器学习算法工程师
(12)AI研习社
(13)GiantPandaCV
(14)AI深度学习视线
(15)七月在线实验室
(16)人工智能前沿讲习
(17)AI科技评论
(18)机器学习算法与Python精研
(19)AIZOO
(20)微软研究员AI头条
(21)VALSE
(22)AI算法修炼营
(23)有三AI
(24)AlWalker
(25)AI公园
(26)AI人工智能初学者
(27)计算机视觉之路
(28)小白学视觉
(29)HyperAI超神经
(30)集智书童
(31)计算机视觉life
(32)CV圈
(33)计算机视觉研究院
(34)深度学习与计算机视觉
(35)机器学习研习院
(36)机器学习与生成对抗网络

你可能感兴趣的:(Maven,maven,java,intellij,idea,mysql,xml)