01_Maven操作和框架入门

Maven操作和框架入门

Maven

快捷键

  1. itar
  2. itli
  3. iter
  4. art + enter 万能
  5. art + insert 生成set/get toStriong/构造器等
  6. shift+ shift 搜索文件

Maven

1。Maven介绍

Maven是一个项目管理工具,可以对项目和jar包进行统一个管理,包括:项目的构建(执行项目的生命周期)、项目的生命周期(编译、测试、打包、部署等)、项目的模块依赖关系和jar包的依赖关系

l Jar包管理

l 自动化的项目构建

​ 通俗说maven是一个对项目进行管理和对jar包进行管理的软件


2。Maven相关概念

(1)项目对象模型(POM)

​ Project Object Model:POM对象模型,其实就是一个xml文件,名字叫做pom.xml,每个Maven工程中都有一个pom.xml文件,定义工程(所依赖的jar包)、(本工程的坐标、打包(jar/war)运行方式)。

Maven通过坐标对项目工程所依赖的jar包统一规范管理

企业使用时,也叫做GAV坐标

Maven的坐标使用如下三个量在 Maven 的仓库中唯一的确定一个jar。

[1] groupid:公司或组织的域名倒序+[当前项目名称]

[2] artifactId:当前项目的模块名称

[3] version:当前模块的版本

(2)生命周期

l 清理、编译、测试、报告 、打包、部署、站点生成。

①清理:删除以前的编译结果,为重新编译做好准备。

②编译:将Java 源程序编译为字节码文件。

③测试:针对项目中的关键点进行测试,确保项目在迭代开发过程中关键点的正确性。

④报告:在每一次测试后以标准的格式记录和展示测试结果。

⑤打包:将一个包含诸多文件的工程封装为一个压缩文件用于安装或部署。Java 工程对应 jar 包,Web工程对应 war 包。

⑥安装:在 Maven 环境下特指将打包的结果——jar 包安装到本地仓库中或把 war包安装到web容器中。

⑦部署:将打包的结果部署到远程仓库或将war包部署到服务器上运行。

(3)Maven项目标准目录结构

Maven是约定思想的体现,约定>配置>编程,maven之前有一个ant工具(告诉它你的源代码在哪个路径下,然后编译输出到哪个路径)

Maven工程有自己标准的目录结构。

而 Maven 正是因为指定了特定目录保存文件才能够对我们的 Java 工程进行自动化构建(就是自动执行上面的生命周期)。

标准目录结构示例

Project

  |-src

  |   |-main

  |   |  |-java             —— 存放项目的.java文件

  |   |  |-resources        —— 存放项目资源文件,如spring, hibernate配置文件

​         |-webapp       —— webapp目录是web工程的主目录

​            |-WEB-INF

​              |-web.xml

  |   |-test

  |      |-java            ——存放所有测试.java文件,如JUnit测试类

  |      |-resources        —— 测试资源文件

  |-target                 —— 目标文件输出位置例如.class、.jar、.war文件

  |-pom.xml              ——maven项目核心配置文件
(4)Maven插件

maven 管理项目生命周期过程都是基于插件完成的,例如:开发中使用的tomcat插件

(5)Maven仓库。
仓库名称作用
本地仓库相当于缓存,工程第一次会从远程仓库(互联网)去下载jar 包,将jar包存在本地仓库(在程序员的电脑上)。 第二次不需要从远程仓库去下载。先从本地仓库找,如果找不到才会去远程仓库找。
中央仓库(远程仓库)是一种远程仓库,仓库中的jar包由专业团队(maven团队)统一维护。里面存放了全世界大多数流行开源软件jar包 中央仓库的地址:http://mvnrepository.com/tags/maven
私服(远程仓库)在公司内部架设一台私服,其它公司架设一台仓库,对外公开。

.使用Maven的好处

通过上边介绍传统项目和maven项目在项目构建及依赖管理方面的区别,maven有如下的好处:

1、自动构建(生命周期管理):maven对项目构建的过程进行标准化,通过一个命令即可完成构建过程。

2、依赖管理:maven工程不用手动导jar包,通过在pom.xml中定义坐标从maven仓库自动下载,方便且不易出错。

3、跨平台:maven命令可在window、linux上使用,命令无差别。

4、提升效率:遵循maven规范开发有利于提高大型团队的开发效率,降低项目的维护成本,大公司都会考虑使用maven来构建项目。


4.常见Maven命令

(1)clean

clean是maven工程的清理命令,执行 clean会删除整个target目录及内容。

(2)compile

compile是maven工程的编译命令,作用是将src/main/java下的文件编译为class文件输出到target目录下。

(3)test

test是maven工程的测试命令,会执行src/test/java下的单元测试类。

注意:

1、需要注掉pom.xml中打包跳过测试那一段

2、Maven要求测试类放在src/test/java目录下,且测试方法的

类名以Test结尾、方法名以test开头

(4)package

package是maven工程的打包命令,对于java工程执行package打成jar包,对于web工程打成war包。

(5)install

install是maven工程的安装命令,执行install将项目打成jar包或war包发布到本地仓库。


依赖附件

<plugins>
  <!-- Compile -->
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.3</version>
    <configuration>
      <source>1.8</source>
      <target>1.8</target>
      <encoding>UTF-8</encoding>
    </configuration>
  </plugin>
  <!-- 打包跳过Test -->
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.18.1</version>
    <configuration>
      <skipTests>true</skipTests>
    </configuration>
  </plugin>
  <!--   配置Tomcat插件 -->
  <plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
      <!--<path>/${project.artifactId}</path>-->
      <path>/</path>
      <port>80</port>
    </configuration>
  </plugin>
  <!--  maven的源码打包插件 -->
  <plugin>
    <artifactId>maven-source-plugin</artifactId>
    <version>2.4</version>
    <executions>
      <execution>
        <phase>package</phase>
        <goals>
          <goal>jar-no-fork</goal>
        </goals>
      </execution>
    </executions>
  </plugin>

  <!-- 资源文件拷贝插件 -->
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.7</version>
    <executions>
      <execution>
        <id>copy-xmls</id>
        <phase>process-sources</phase>
        <goals>
          <goal>copy-resources</goal>
        </goals>
        <configuration>
          <outputDirectory>${basedir}/target/classes</outputDirectory>
          <resources>
            <resource>
              <directory>${basedir}/src/main/java</directory>
              <includes>
                <include>**/*.xml</include>
              </includes>
            </resource>
            <resource>
              <directory>${basedir}/src/main/resources</directory>
              <includes>
                <include>**/*.xml</include>
              </includes>
            </resource>
          </resources>
        </configuration>
      </execution>
    </executions>
  </plugin>
</plugins>


框架认识

什么是框架

框架就是一个半成品项目,对java来说,框架就是别人写好代码的封装,java框架对我们来说就是一堆封装好的jar

框架要解决的问题

框架还解决基础技术的整合问题。优秀的矿机分装了基础的代码,在可靠性,安全性,稳定性,可扩展性,可维护性等表现优异,我们在此基础上开发我们自己的代码完成我们想要实现的功能

什么时候使用框架

企业级应用

怎么使用框架

  • 导入框架的jar
  • 通过xml配置文件,定义框架的执行细节
  • 程序中调用框架API完成功能

了解分层的思想

什么是分层

分层本质就是代码的拆分

分层的好处

实现了低耦合

不同层的职责明确

易于维护,用以定位出现问题的位置

常用的框架

  • Model1模式: (jsp+servlet),jsp负责接收请求
  • Model2模式:也是MVC设计模式 M(service+dao)View,Controller
  • 经典三层
    1. 表现层 (view+controller) :struts,SpringMVC
    2. 服务层(service):spring应用于各层,本质是一个对象的容器
    3. Dao层(dao)Hibernate ,Mybatis

SSH(Struts+Spring+Hibernate)

SSM(SpringMVC+Sping+Mybatis)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值