00:00
其中呢,在这个reportery,这是我的本地仓库,在仓库里边呢,有个文件夹。org,在下面呢有一个spring framework,然后呢,再往下呢,这有一个spring,你看这些都是spring。我们用的是这个contest,用的是5.2.5这个版本,它里边有这个炸包。就是说我的本地仓库中有这个jar包,所以你在用的时候呢,就不用再从互联网上下载了。那你怎么用这个仓库呢?嗯,大家可都配过这个仓库啊,那首先第一个内容就是你需要从网盘上把这个压缩包下载下来,把它解压到一个目录之中。例如。我解压到的是D盘的work man work reportery,我是把它解压到这个目录里边去了,这这个目录。然后你把这个目录呢,考下来,考下来。
01:01
去找到你的没安装工具。啊,我的没问呢,到这里了。找到康,这不是有一个塞ing斯吗?它里边指定的是你本地仓库的目录。我换一个工具用。啊,这是你本地仓库,你把这个仓库指定成刚才的reporty的目录就行了,那这样的话呢,你的ma或者说你的idea。通过ma在创建项目加载依赖的时候,就从这个本地仓库首先加载。如果这个仓库中有这个jar包的话,就不用从网络中下载了,如果没有才从网络中下载,而我用到的spring和索VC,它所用到的jar包在这个文件夹中我都已经下载好了,你直接用就行了,也是说你把这个仓库配成我给你这个仓库就可以了啊,就可以了。
02:04
把这个下载下去解压。你的没来配置本地仓库,这样就不需要再大量的进行下载了,那你在做的时候就跟我刚才做这个项目时。就一样的。好,这是仓库的一个说明啊,这个大家都没问题吧。没文,不能直接配。不能直接配啊,你说这个何伟斌同学说may不能直接配你的是什么呢?就是说你的may。他要不然就配本地仓库,要不然呢,就直接从互联网上进行下载啊,就是下载当然就没什仓库的话,本地仓库你就配一下这个路径会更可以。你的may是不能配的,它怎么配呢?你的maven是用来构建你的项目呢,它跟你是不是spring没有关系,没配不了这个on。Ma是配你项目的构建的,跟框架没关系啊。
03:05
互动网下载是可以的,当然没问题呀,你从互联网下载是完全没问题的,因为我这个仓库我也是直接从互联网下载的啊。那你直接下载的话,你就不用配仓库呗,不用配仓库,不用配仓库。直接从网上下载配置信息,那你要直接从配从网上下载的话,那你就配你的这个。泡门完了呗,那别的东西啊。你在泡沫中,你放这个依赖项。它就会自动下载这个spring框架的资源了,就可以了。什么不配?他就从互联网上直接下载了,这个是spring依赖,你把它加上,那它就是从互联网上去直接下载spring框架的资源了。
04:01
你就不用做其他东西了。直接把炸药包放到你的本地仓库中是可以的啊,可以的。可以的。Create from type,这个是说我们要从模板中来创建maven项目吗?那就说如果你选中了这一项的话,那就说明你创建项目时候是有这些默认目录的吗?这个目录是默认都有的。如果你不选的话,就说这个项目是空的,这些东西都没有,这是模板的意思,它表示从模板来创建我们的没项目是这个意思,这样的话,你创这个项目呢,就会有一些默认资源,默认文件夹,这些都给你创建好了。就是这个意思啊。好,后面呢,我们还会再创建的啊,就是说从模板中来创建铭文项目,这样就更快一点,更方便一些。
05:05
行,那问题呢,我们就先讲到这儿,然后我们再往下来。来说呢,我们刚才的这个spring项目的创建执行的过程啊。向的执行呢,肯定是从上往下依次执行代码,那首先我们来指定的是BS加叉ML这个文件。然后再往下,当走到这行语句的时候,它要创建AC对象。用的类呢,是class path Cha mail application contact的,那这个参数是配置文件。那就是说我们现在呢,在这个类的构造方法中,它会去读这个文件,会读它读这个文件啊,读这个文件。那读文件的话,那应该从文件的开始。往下来读取。
06:01
当遇到了B标签这行语句的时候,你的spring。它就会完成对象的创建工作,通过反射机制来调用这个类的构造方法创建对象。对象的名字叫some service,并把创建好的对象放到这个容器的map之中。那这个标签的功能就实现了,对象就创建好了,因为当前文件中没有其他的标签了,所以这个文件就读取完毕了,在读取这个文件的同时,对象就已经创建好了。文件读取完毕。这行代码就执行完了,程序再往下走。当走到这一行的时候,那我们是从容器中来拿到some service名称的对象,也就是说要从容器的脉中去获取。也就是。
07:03
配置文件中说的,通过这个map中找到这个名称的这个对象,把它附到你的程序代码中。所以说我们是拿到这个对象,把它付给这个service,那么这个service就是帮你创建好的对象。然后你调一个对应的方法就行了,这就是整个程序的执行的过程。对象的创建是在这句话执行时给你创建的。那你怎么能够确定是在执行这句话的时候把对象创建出来的呢?那我们这边给大家证明一下。打开我们的三个音。如果对象创建的话,它应该会执行它的构造方法,那我把构造方法呢给大家呢,创建出来构造方法无参的,我们来输出一句话,造无参数构造方法。
08:11
那如果这个构造方法执行的话,说明对象一定是创建了吧,那好。我现在呢,先把零二方法执行一下,看一下构造方法中的输出有没有呢。我们来看构造方法的输出。有吧?那说明构造方法执行的。构造方法什么时候执行的呢?我们把下面的这两行代码呢注释一下。当前程序中只有容器的创建语句吧?执行测试代码。我们来看构造方法输出了吧。那说明这个对象是创建了吧。
09:01
对象是创建了吧。好对象创建了,那现在能得出一个结论。这个对象在什么时候被创建的呀?在什么时候应该是执行这条语句的时候创建的?下面都没执行吗?那就意味着当你在创建这个AC对象时。通过构造方法读取配置文件的时候,就会创建Java对象。那所以说创建对象的时间时,它默认创建对象的时间。是在创建润的容器时,它会创建配置文件中所有的对象啊。
10:07
所有的对象。
我来说两句