1: 知道什么是maven
网上一般说maven是一个构建工具,其实是说得很准确的,不过我觉得更准确的说法应该是一个自动化的构建工具。

你可以这样说:不用maven的时候所有的jar都不是你家的,需要去各个地方下载拷贝,用了maven所有的jar包都是你家的,想要谁,叫谁的名字就行。(对小白而言,一个用来下载别人现成代码块的工具导入别人写好得jar包)

maven有两个重要到文件。一个是:setting.xml.第二个是:pom.xml。

setting.xml在下载idea时有可能不自带,之间下载放到一个随便的文件夹就可以啦!setting.xml里面的内容要修改两点

1 把里面的下载换成阿里云下载,因为国内网速下载快,并且阿里云服务器每15分钟更新,和从国外jar仓库内容同步。https://mvnrepository.com/?tdsourcetag=s_pctim_aiomsg这是Java开发时,所需的99%的jar仓库网站。

2 把里面下载仓库的地址修改一下,就是把你从网上仓库的jar包下载放在的地方,一般不要放在C盘,其他盘任选一个。

以后用到那个包,本地电脑磁盘上找---------没有,下载保存--------公司的私人服务器找-------没有,下载保存-------互联网阿里云服务器或者国外服务器上找。知道找到,进行下载保存到本地电脑上,下次再用,就不用再麻烦找啦!

3 pom.xml就是项目中用到那个jar包,直接在pomxml中加入jar包的groupid和artifactId,idea就自动帮你导入下载啦!

2:maven有什么作用
1 . 帮你下载jar包 
maven项目会有一个 pom.xml文件, 在这个文件里面,只要你添加相应配置,他就会自动帮你下载相应jar包,不用你铺天盖地的到处搜索你需要的jar包了 
2 . 寻找依赖,帮你下载依赖 
寻找jar包是第一基本功能,寻找依赖在这个是在这个基础上的功能。 
在maven的代码库中,每一个jar包也有自己的 pom.xml文件,而这个文件里面也会有<dependency>配置,什么依赖范围我就不细说了,我想表达的就是,只要你配置的jar包所依赖的其他jar包都会被maven自动下载下来。

你要maven帮你下载spring-core-2.6.jar包 
而这个jar包里面需要用到commons-logging.jar这个包, 
这叫就依赖,spring-core-2.6.jar依赖于commons-logging.jar。 
这就是maven第二个作用,帮你下载依赖包。

这两步都要你在pom.xml中自己配置文件,配置文件自己在pom.xml中添加,比葫芦画瓢,在上面那个连接网站中,找到每个jar对应的groupid和artifactId。

3 . 热部署,热编译 
意思就是,在你web项目已经运行的时候,修改代码的能直接被web服务器所接受,就不需要你 重启服务器了,或者重新部署代码了,而且你可以直接通过maven 打包war或者jar项目。

3:现在可以啦,开始我们第一个Spring.
1、创建项目

2:选择Maven项目

3:项目配置

maven中的groupId和artifactId到底指的是什么
groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。
  groupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的groupId是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,artigactId是tomcat。
  比如我创建一个项目,我一般会将groupId设置为cn.snowin,cn表示域为中国,snowin是我个人姓名缩写,artifactId设置为testProj,表示你这个项目的名称是testProj,依照这个设置,你的包结构最好是cn.snowin.testProj打头的,如果有个StudentDao,它的全路径就是cn.snowin.testProj.dao.StudentDao。就像pom.xml中引入其他人的jar包一样,这样标记可以快速找到你的jar包,以便让其他人引用。

4:使用本地安装的Maven

idea上可以使用自己下载的maven,也可以使用idea自带的maven。如果使用自带的,Name home directory就选择idea自带的maven2或者maven3,这是idea捆绑的maven。

这里的Name home directory找到你电脑自己安装下载的maven的路径。也可以用idea上自带的maven2或者maven3,User setting file填写找到你的setting.xml下载的地方,Local repository填写你刚才在修改setting.xml中的下载修改后不在C盘,在其他盘的那个本地仓库的地方。再next就是你的项目名称是什么,把你的项目放到什么地方。自己修改就可以啦!对啦!!!还是要跟你们说,不要放在C盘下。?

5:

一直点击Next,最后点击完成
当控制台中出现“BUILD SUCCESS”,项目创建成功

6:加载依赖,在pom.xml文件中添加Spring依赖和日志相关依赖

只需要在你们的<dependencies></dependencies>中加入下面代码即可,下面的代码就是让idea自动去下载引入jar包。

<dependencies>
       <!--测试相关-->
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <version>4.11</version>
       <scope>test</scope>
     </dependency>
       <!--Spring核心基础依赖-->
       <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-core</artifactId>
           <version>5.0.2.RELEASE</version>
       </dependency>
       <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-context</artifactId>
           <version>5.0.2.RELEASE</version>
       </dependency>
       <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-beans</artifactId>
           <version>5.0.2.RELEASE</version>
       </dependency>
       <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-expression</artifactId>
           <version>5.0.2.RELEASE</version>
       </dependency>
       <!--日志相关-->
       <dependency>
           <groupId>commons-logging</groupId>
           <artifactId>commons-logging</artifactId>
           <version>1.2</version>
       </dependency>
       <dependency>
           <groupId>log4j</groupId>
           <artifactId>log4j</artifactId>
           <version>1.2.17</version>
       </dependency>
       <dependency>
           <groupId>org.testng</groupId>
           <artifactId>testng</artifactId>
           <version>RELEASE</version>
           <scope>compile</scope>
       </dependency>
  
   </dependencies>

7:代码显示。
在main目录下面创建java和resources目录

分别在java和resources目录上点击右键,分别选择Mark Directory as-->Sources Root 和 Mark Directory as -->Resources Root,设置为源码目录和资源目录

创建dao包,在dao包下创建TestDao接口和TestDao接口的实现类,结构如下图:

TestDao接口代码示例:

package dao;
  
 public interface TestDao {
     public void sayHello();
 }

在resources资源目录点击右键,依次选择New-->XML Configuration File-->Spring Config,创建applicationContext.xml的配置文件

Spring和maven创建项目的区别 maven和spring的关系_maven

applicationContext.xml配置文件代码示例:


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
 
    <!--把testDao对象的创建权交给Spring-->
    <bean id="testDao" class="dao.TestDaoImpl"></bean>
 
</beans>

创建test包,在test包下创建测试类SpringTest

package test;
 
import dao.TestDao;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.testng.annotations.Test;
 
public class SpringTest {
 
    @Test
    public void demo(){
        //初始化Spring容器ApplicationContext,加载配置文件
        ApplicationContext application = new ClassPathXmlApplicationContext("applicationContext.xml");
        //通过容器获取testDao实例
        TestDao testDao = (TestDao) application.getBean("testDao");
        testDao.sayHello();
    }
 
}


总体结构图

Spring和maven创建项目的区别 maven和spring的关系_spring_02

点击测试方法左侧的运行按钮,选择Run,测试代码

Spring和maven创建项目的区别 maven和spring的关系_idea_03

运行后控制台显示结果

Spring和maven创建项目的区别 maven和spring的关系_jar包_04