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


    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、数据库环境准备

    1. /*
    2. Navicat MySQL Data Transfer
    3. Source Server : localhost_3306
    4. Source Server Version : 50096
    5. Source Host : localhost:3306
    6. Source Database : maven_ssm
    7. Target Server Type : MYSQL
    8. Target Server Version : 50096
    9. File Encoding : 65001
    10. Date: 2018-04-23 14:07:06
    11. */
    12. SET FOREIGN_KEY_CHECKS=0;
    13. -- ----------------------------
    14. -- Table structure for `items`
    15. -- ----------------------------
    16. DROP TABLE IF EXISTS `items`;
    17. CREATE TABLE `items` (
    18. `id` int(10) NOT NULL auto_increment,
    19. `name` varchar(20) default NULL,
    20. `price` float(10,0) default NULL,
    21. `pic` varchar(40) default NULL,
    22. `createtime` datetime default NULL,
    23. `detail` varchar(200) default NULL,
    24. PRIMARY KEY (`id`)
    25. ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;
    26. -- ----------------------------
    27. -- Records of items
    28. -- ----------------------------
    29. INSERT INTO `items` VALUES ('1', '传智播客', '1000', null, '2018-03-13 09:29:30', '带我走上人生巅峰');
    30. INSERT INTO `items` VALUES ('2', '黑马310', null, null, '2018-03-28 10:05:52', '插入测试');
    31. INSERT INTO `items` VALUES ('3', '黑马307', '199', null, '2018-03-07 10:08:04', '插入测试');
    32. INSERT INTO `items` VALUES ('7', '插入测试', null, null, null, null);
    33. INSERT INTO `items` VALUES ('8', '插入测试', null, null, null, null);

    2、idea项目配置


             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配置

    1. "1.0" encoding="UTF-8"?>
    2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    4. <modelVersion>4.0.0modelVersion>
    5. <groupId>com.itheimagroupId>
    6. <artifactId>maven_day02_1artifactId>
    7. <version>1.0-SNAPSHOTversion>
    8. <packaging>warpackaging>
    9. <dependencies>
    10. <dependency>
    11. <groupId>org.springframeworkgroupId>
    12. <artifactId>spring-beansartifactId>
    13. <version>4.2.4.RELEASEversion>
    14. dependency>
    15. <dependency>
    16. <groupId>org.springframeworkgroupId>
    17. <artifactId>spring-contextartifactId>
    18. <version>5.0.2.RELEASEversion>
    19. dependency>
    20. <dependency>
    21. <groupId>org.springframeworkgroupId>
    22. <artifactId>spring-coreartifactId>
    23. <version>4.2.8.RELEASEversion>
    24. dependency>
    25. dependencies>
    26. project>
    1. "1.0" encoding="UTF-8"?>
    2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    4. <modelVersion>4.0.0modelVersion>
    5. <groupId>com.itheimagroupId>
    6. <artifactId>maven_day02_1artifactId>
    7. <version>1.0-SNAPSHOTversion>
    8. <packaging>warpackaging>
    9. <dependencies>
    10. <dependency>
    11. <groupId>org.springframeworkgroupId>
    12. <artifactId>spring-beansartifactId>
    13. <version>4.2.4.RELEASEversion>
    14. <exclusions>
    15. <exclusion>
    16. <groupId>org.springframeworkgroupId>
    17. <artifactId>spring-coreartifactId>
    18. exclusion>
    19. exclusions>
    20. dependency>
    21. <dependency>
    22. <groupId>org.springframeworkgroupId>
    23. <artifactId>spring-contextartifactId>
    24. <version>5.0.2.RELEASEversion>
    25. dependency>
    26. dependencies>
    27. project>

    2、三大框架jar包

    1. "1.0" encoding="UTF-8"?>
    2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    4. <modelVersion>4.0.0modelVersion>
    5. <groupId>com.itheimagroupId>
    6. <artifactId>maven_day02_1artifactId>
    7. <version>1.0-SNAPSHOTversion>
    8. <packaging>warpackaging>
    9. <properties>
    10. <spring.version>5.0.2.RELEASEspring.version>
    11. <slf4j.version>1.6.6slf4j.version>
    12. <log4j.version>1.2.12log4j.version>
    13. <shiro.version>1.2.3shiro.version>
    14. <mysql.version>5.1.6mysql.version>
    15. <mybatis.version>3.4.5mybatis.version>
    16. <spring.security.version>5.0.1.RELEASEspring.security.version>
    17. properties>
    18. <dependencyManagement>
    19. <dependencies>
    20. <dependency>
    21. <groupId>org.springframeworkgroupId>
    22. <artifactId>spring-contextartifactId>
    23. <version>${spring.version}version>
    24. dependency>
    25. <dependency>
    26. <groupId>org.springframeworkgroupId>
    27. <artifactId>spring-webartifactId>
    28. <version>${spring.version}version>
    29. dependency>
    30. <dependency>
    31. <groupId>org.springframeworkgroupId>
    32. <artifactId>spring-webmvcartifactId>
    33. <version>${spring.version}version>
    34. dependency>
    35. <dependency>
    36. <groupId>org.springframeworkgroupId>
    37. <artifactId>spring-txartifactId>
    38. <version>${spring.version}version>
    39. dependency>
    40. <dependency>
    41. <groupId>org.springframeworkgroupId>
    42. <artifactId>spring-testartifactId>
    43. <version>${spring.version}version>
    44. dependency>
    45. <dependency>
    46. <groupId>org.mybatisgroupId>
    47. <artifactId>mybatisartifactId>
    48. <version>${mybatis.version}version>
    49. dependency>
    50. dependencies>
    51. dependencyManagement>
    52. <dependencies>
    53. <dependency>
    54. <groupId>org.aspectjgroupId>
    55. <artifactId>aspectjweaverartifactId>
    56. <version>1.6.8version>
    57. dependency>
    58. <dependency>
    59. <groupId>org.springframeworkgroupId>
    60. <artifactId>spring-aopartifactId>
    61. <version>${spring.version}version>
    62. dependency>
    63. <dependency>
    64. <groupId>org.springframeworkgroupId>
    65. <artifactId>spring-contextartifactId>
    66. <version>${spring.version}version>
    67. dependency>
    68. <dependency>
    69. <groupId>org.springframeworkgroupId>
    70. <artifactId>spring-context-supportartifactId>
    71. <version>${spring.version}version>
    72. dependency>
    73. <dependency>
    74. <groupId>org.springframeworkgroupId>
    75. <artifactId>spring-webartifactId>
    76. <version>${spring.version}version>
    77. dependency>
    78. <dependency>
    79. <groupId>org.springframeworkgroupId>
    80. <artifactId>spring-ormartifactId>
    81. <version>${spring.version}version>
    82. dependency>
    83. <dependency>
    84. <groupId>org.springframeworkgroupId>
    85. <artifactId>spring-beansartifactId>
    86. <version>${spring.version}version>
    87. dependency>
    88. <dependency>
    89. <groupId>org.springframeworkgroupId>
    90. <artifactId>spring-coreartifactId>
    91. <version>${spring.version}version>
    92. dependency>
    93. <dependency>
    94. <groupId>org.springframeworkgroupId>
    95. <artifactId>spring-testartifactId>
    96. <version>${spring.version}version>
    97. dependency>
    98. <dependency>
    99. <groupId>org.springframeworkgroupId>
    100. <artifactId>spring-webmvcartifactId>
    101. <version>${spring.version}version>
    102. dependency>
    103. <dependency>
    104. <groupId>org.springframeworkgroupId>
    105. <artifactId>spring-txartifactId>
    106. <version>${spring.version}version>
    107. dependency>
    108. <dependency>
    109. <groupId>junitgroupId>
    110. <artifactId>junitartifactId>
    111. <version>4.12version>
    112. <scope>testscope>
    113. dependency>
    114. <dependency>
    115. <groupId>mysqlgroupId>
    116. <artifactId>mysql-connector-javaartifactId>
    117. <version>${mysql.version}version>
    118. dependency>
    119. <dependency>
    120. <groupId>javax.servletgroupId>
    121. <artifactId>javax.servlet-apiartifactId>
    122. <version>3.1.0version>
    123. <scope>providedscope>
    124. dependency>
    125. <dependency>
    126. <groupId>javax.servlet.jspgroupId>
    127. <artifactId>jsp-apiartifactId>
    128. <version>2.0version>
    129. <scope>providedscope>
    130. dependency>
    131. <dependency>
    132. <groupId>jstlgroupId>
    133. <artifactId>jstlartifactId>
    134. <version>1.2version>
    135. dependency>
    136. <dependency>
    137. <groupId>log4jgroupId>
    138. <artifactId>log4jartifactId>
    139. <version>${log4j.version}version>
    140. dependency>
    141. <dependency>
    142. <groupId>org.slf4jgroupId>
    143. <artifactId>slf4j-apiartifactId>
    144. <version>${slf4j.version}version>
    145. dependency>
    146. <dependency>
    147. <groupId>org.slf4jgroupId>
    148. <artifactId>slf4j-log4j12artifactId>
    149. <version>${slf4j.version}version>
    150. dependency>
    151. <dependency>
    152. <groupId>org.mybatisgroupId>
    153. <artifactId>mybatisartifactId>
    154. <version>${mybatis.version}version>
    155. dependency>
    156. <dependency>
    157. <groupId>org.mybatisgroupId>
    158. <artifactId>mybatis-springartifactId>
    159. <version>1.3.0version>
    160. dependency>
    161. <dependency>
    162. <groupId>c3p0groupId>
    163. <artifactId>c3p0artifactId>
    164. <version>0.9.1.2version>
    165. <type>jartype>
    166. <scope>compilescope>
    167. dependency>
    168. <dependency>
    169. <groupId>com.github.pagehelpergroupId>
    170. <artifactId>pagehelperartifactId>
    171. <version>5.1.2version>
    172. dependency>
    173. <dependency>
    174. <groupId>org.springframework.securitygroupId>
    175. <artifactId>spring-security-webartifactId>
    176. <version>${spring.security.version}version>
    177. dependency>
    178. <dependency>
    179. <groupId>org.springframework.securitygroupId>
    180. <artifactId>spring-security-configartifactId>
    181. <version>${spring.security.version}version>
    182. dependency>
    183. <dependency>
    184. <groupId>org.springframework.securitygroupId>
    185. <artifactId>spring-security-coreartifactId>
    186. <version>${spring.security.version}version>
    187. dependency>
    188. <dependency>
    189. <groupId>org.springframework.securitygroupId>
    190. <artifactId>spring-security-taglibsartifactId>
    191. <version>${spring.security.version}version>
    192. dependency>
    193. <dependency>
    194. <groupId>com.alibabagroupId>
    195. <artifactId>druidartifactId>
    196. <version>1.0.9version>
    197. dependency>
    198. dependencies>
    199. <build>
    200. <plugins>
    201. <plugin>
    202. <groupId>org.apache.tomcat.mavengroupId>
    203. <artifactId>tomcat7-maven-pluginartifactId>
    204. <version>2.2version>
    205. plugin>
    206. plugins>
    207. build>
    208. project>

    05-pom文件内标签的讲解

    1、锁定jar包版本

    2、统一管理jar包版本

    06-案例dao层代码编写

    1、ItemsDao.java

    1. package com.itheima.dao;
    2. import com.itheima.domain.Items;
    3. public interface ItemsDao {
    4. public Items findById(Integer id);
    5. }

    2、ItemsDao.xml

    1. "1.0" encoding="UTF-8" ?>
    2. mapper
    3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    5. <mapper namespace="com.itheima.dao.ItemsDao">
    6. <select id="findById" parameterType="int" resultType="items">
    7. select * from items where id = #{id}
    8. select>
    9. mapper>

    3、applicationContext.xml

    1. "1.0" encoding="UTF-8"?>
    2. <beans xmlns="http://www.springframework.org/schema/beans"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xmlns:context="http://www.springframework.org/schema/context"
    5. xmlns:aop="http://www.springframework.org/schema/aop"
    6. xmlns:tx="http://www.springframework.org/schema/tx"
    7. xmlns:mvc="http://www.springframework.org/schema/mvc"
    8. xsi:schemaLocation="http://www.springframework.org/schema/beans
    9. http://www.springframework.org/schema/beans/spring-beans.xsd
    10. http://www.springframework.org/schema/context
    11. http://www.springframework.org/schema/context/spring-context.xsd
    12. http://www.springframework.org/schema/aop
    13. http://www.springframework.org/schema/aop/spring-aop.xsd
    14. http://www.springframework.org/schema/tx
    15. http://www.springframework.org/schema/tx/spring-tx.xsd
    16. http://www.springframework.org/schema/mvc
    17. http://www.springframework.org/schema/mvc/spring-mvc.xsd">
    18. <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
    19. <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    20. <property name="url" value="jdbc:mysql:///maven"/>
    21. <property name="username" value="root"/>
    22. <property name="password" value="root"/>
    23. bean>
    24. <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    25. <property name="dataSource" ref="dataSource"/>
    26. <property name="typeAliasesPackage" value="com.itheima.domain"/>
    27. bean>
    28. <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    29. <property name="basePackage" value="com.itheima.dao"/>
    30. bean>
    31. beans>

    4、ItemsTest.java

    1. package com.itheima.test;
    2. import com.itheima.dao.ItemsDao;
    3. import com.itheima.domain.Items;
    4. import org.junit.jupiter.api.Test;
    5. import org.springframework.context.ApplicationContext;
    6. import org.springframework.context.support.ClassPathXmlApplicationContext;
    7. public class ItemsTest {
    8. @Test
    9. public void findById() {
    10. //获取spring容器
    11. ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
    12. //从容器中拿到所需的dao代理对象
    13. ItemsDao itemsDao = ac.getBean(ItemsDao.class);
    14. //调用方法
    15. Items items = itemsDao.findById(1);
    16. System.out.println(items.getName());
    17. }
    18. }

    07-案例service层代码编写

    08-案例web层代码编写

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

    maven工程拆分与聚合的思想

    10-maven父子工程的创建

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

    1. "1.0" encoding="UTF-8"?>
    2. <project xmlns="http://maven.apache.org/POM/4.0.0"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    5. <modelVersion>4.0.0modelVersion>
    6. <groupId>org.examplegroupId>
    7. <artifactId>maven_day02_parentartifactId>
    8. <packaging>pompackaging>
    9. <version>1.0-SNAPSHOTversion>
    10. <modules>
    11. <module>maven_day02_daomodule>
    12. <module>maven_day02_servicemodule>
    13. <module>maven_day02_webmodule>
    14. modules>
    15. <properties>
    16. <maven.compiler.source>8maven.compiler.source>
    17. <maven.compiler.target>8maven.compiler.target>
    18. properties>
    19. <dependencies>
    20. <dependency>
    21. <groupId>org.examplegroupId>
    22. <artifactId>maven_day02_serviceartifactId>
    23. <version>1.0-SNAPSHOTversion>
    24. dependency>
    25. dependencies>
    26. project>

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

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

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

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

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

    2、第二种启动方式

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

     

     

     

    计算机类公众号:

    (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)机器学习与生成对抗网络

  • 相关阅读:
    WPS调用“画笔”菜单的操作步骤
    前后端交互常见的几种数据传输格式 form表单+get请求 form表单+post请求 json键值对格式
    【数据库】如何利用Python中的petl将PostgreSQL中所有表的外键删除,迁移数据,再重建外键
    FL Studio21.2.8中文版水果音乐制作的革新之旅!
    一键自动化博客发布工具,用过的人都说好(公众号篇)
    Lazarus安装和入门资料
    谷歌浏览器在新的浏览器窗口中打开所选的每条搜索结果在哪设置? 谷歌的搜索设置在哪设置??
    【C++/STL】位图和布隆过滤器
    什么是模型
    3.10-容器的操作
  • 原文地址:https://blog.csdn.net/weixin_44949135/article/details/127909591