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的配置文件
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();
}
}
总体结构图
点击测试方法左侧的运行按钮,选择Run,测试代码
运行后控制台显示结果