java每日一练(19_03_14)

//

名人名言

//

昨日翻译

Life is tough,but you can be tougher.

生活很艰苦,但是你可以变的更坚强。

今日名言

Do not teach fish to swim. 

//

2019.03.13问题及解析

//

请问pom.xml文件是什么意思,文件有什么作用,我们可以对它进行哪些配置?

答案与解析

知识基础

提到pom.xml就不得不提及maven,如果你使用的开发工具是idea,你就会看到pom.xml的图标和其它图标有所区别,它的文件图标是一个蓝蓝的英文字母m,说到这里大家应该也就明白了,没错,这个m的意思就是maven,那么maven又是什么意思呢?我们简单的查询就可以知道它时一个项目管理工具,是由Apache公司发布的开源项目,当我们单独使用它时其实是要和我们的jdk一样通过配置环境变量后在控制台进行操作的,但是我们的idea整合它之后,我们只用更改配置文件后,选择右下角的import changes,就能够执行相应的命令,将相应的jar文件导入到我们的项目当中,极大的便利我们的项目管理。

与它功能类似的工具还有Ant,和gradle,前者是它的前辈,而后者则是它的后辈,感兴趣的小伙伴也可以去了解一下,gradle我们在进行生成项目可以看到有一个选项,就能够进行相应的创建,可以按照官方指引尝试一下用gradle构建我们的springboot哦!

题目内容

我们首先了解了maven,那么pom.xml与它有什么关系呢,又是什么意思呢?

pom的英文全称是project object model,也就是项目对象模型,它就是maven的核心,没有它的话,maven就毫无用处,maven完全是根据pom中的内容完成对我们项目的构建。它能配置的东西有很多,我们就按照springboot项目中的配置来初步的了解一下它能进行哪些配置。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.test</groupId>
    <artifactId>test</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <description>Demo project for Spring Boot</description>


    <properties>
        <java.version>1.8</java.version>
    </properties>


    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>


        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>


    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


</project>

(可左右滑动哦)

可以看到首先使我们的xml文件的版本和编码的配置,建议大家去了解一下xml文件更好的来理解它。

首先我们理解四个配置项,所有的maven项目都必须有这四个配置项

<modelVersion>顾名思义模型版本

<groupId>项目组的标识符,我们start.spring.io上配置的group其实也就是这个位置

<artifactId>项目的一个模块的标识符,start.spring.io上配置的artifact

<version>就是定义我们当前项目的版本号

看到上面还用到<parent>这个就很像我们java中的继承,就直接引用父项目中的依赖,就可以大量减少我们当前的pom.xml中所要编写的内容,因为这里我们使用的springboot,那必然要使用到springboot相关的jar文件,那这里直接配置<parent>就能够引入我们springboot的相关配置,还能看到这里用的是2.1.3,也就是我们在start.spring.io中所选到的spring boot的版本

那么接下来就来到了我们刚才所提到的jar包进行配置的地方,也就是<dependencies>我们项目所有相关的依赖,我们可以看到这里用到了groupId、artifactId这里与之前类似,还用到了<scope>这里是定义了我们依赖的范围,test则是指我们进行test任务时使用。

那么它还有一个<type>的配置这里没有提到,它的默认值就是jar,也就是我们依赖的文件的扩展名,通常都会是jar包,也会有例外,比如war,我们需要具体情况具体分析。

<build>则是我们构建项目所需要的信息

<plugins>则是构建我们项目所需要的插件列表

pom.xml文件中还有很多的配置和相应的属性,这里就不再赘述,感兴趣的小伙伴们希望大家自行探索。

今天实名表扬

星火????燎原 小伙伴,现在开始扩展,打开自己,才能学到更多知识,加油!

//

2019.03.14问题

//

public class ThreadTest {
    public static void main(String[] args) {
        Thread thread = new Thread(() -> {
            try {
                Thread.sleep(2000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.print("小");
        });
        thread.start();
        try {
            thread.join();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.print("刀");
    }
}

1.请问上述程序的执行结果为:

A.小刀

B.刀小

C.可能为小刀,也可能为刀小

D.以上答案均不正确

2.为什么?

//

往期回顾

//

java每日一练(19_03_13)  (pom.xml文件)

java每日一练(19_03_12)  (输出结果)

java每日一练(19_03_11)  (程序的输出结果)

java每日一练(19_03_10) (程序题  三个问题)

java每日一练(19_03_09) (程序的输出结果)

java每日一练(19_03_08) (程序题 异常 输出)

java每日一练(19_03_07) (MVC框架)

//

提升自己

//

   

     听到很多小伙伴问小刀哥有什么书推荐看的,看视频也好,看书也罢,能学到知识就行了。但是小刀还是推荐大家多看书,多动脑筋思考。现在小刀给大家带福利啦,扫描下方二维码就能获得福利,价格都比某宝某东便宜哦!!而且全都包邮哦!!

//

加入我们吧~

//

     眼过千遍,不如手过一遍,一定一定要把自己的想法写出来(想法不论对错,写你所想就是进步),这样才会有所收获,你的每一个留言和分享小刀都会认真回复,彼此学习共同进步~

     小刀和小伙伴在学习群里等你来一起监督学习哦,坚持!加油!进群请加小刀微信: best396975802

    感谢所有在后台留言的小伙伴们,每一分的付出都会收到回报,你们都是最棒的哦!

END

微信群请点击公众号菜单进微信群

文字|天堂

排版|花音

点个好看再走吧~(づ ̄3 ̄)づ╭❤

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值