首页 > 编程语言 >Java基础入门day68

Java基础入门day68

时间:2024-06-21 10:29:19浏览次数:28  
标签:Java 入门 int maven actual import Test day68 public

day68

maven

简介

maven字面意思是知识的积累,是项目对象模型的一个项目管理工具,可以用来实现项目的构建,打包,编译,运行等功能

可以很好的实现项目与代码的分离

依赖jar包版本升级也会更加方便

新建的maven项目结构:

pom.xml:用来设置当前项目的jar包,管理,项目间的继承与依赖

下载安装

Maven – Welcome to Apache Mavenmaven官网,maven和之前的tomcat一样,也是apache下的一个子产品

下载指定的版本后解压,解压后的目录:

├─bin: 含有maven命令脚本mvn的目录 ├─boot: 含有类加载器框架的目录,使用框架加载自己的类库 ├─conf:配置目录,含有settings.xml,里面配置了本地仓库,还有阿里云镜像 └─lib: 含有maven运行时所需要的java类库

测试:

D:\apache-maven-3.9.5\bin>mvn -version
Apache Maven 3.9.5 (57804ffe001d7215b5e7bcb531cf83df38f93546)
Maven home: D:\apache-maven-3.9.5
Java version: 1.8.0_312, vendor: International Business Machines Corporation, runtime: D:\jdk1.8\jdk8u312-b07\jre
Default locale: zh_CN, platform encoding: GB18030
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

能够出现正确的maven版本信息,即maven配置完成

maven的配置

本地仓库:在settings.xml文件中配置

<localRepository>D:\apache-maven-3.9.5\repo</localRepository>

当需要依赖时,会从仓库中查找,优先顺序为:

本地仓库 > 私服 (已经配置) > 公共仓库 (已经配置) > 中央仓库

远程仓库:

中央仓库:

maven中央仓库时有maven社区提供的仓库,不用任何配置,maven中内置了中央仓库的地址

其中包含绝大多数流行的Java开源构件

Maven Repository: Search/Browse/Explore (mvnrepository.com)

公共仓库:

比如阿里云仓库,中央仓库服务器一般在国外,下载速度过慢,所以都会配置一个国内的公共仓库替代中央仓库

公共仓库也可以在settings.xml文件中配置

    <mirror>
        <id>aliyunmaven</id>
        <mirrorOf>*</mirrorOf>
        <name>阿里云公共仓库</name>
        <url>https://maven.aliyun.com/repository/public</url>
    </mirror>

私服:

公司范围内共享的仓库,一般不对外

可以公共nexus来创建、管理一个私服

idea配置maven

idea中配置maven

file - new project setup - setting for new projects

找到build execution deployment - build tool - maven

分别配置:

  • maven home path:D:/apache-maven-3.9.5

  • user settings file: D:\apache-maven-3.9.5\conf\settings.xml

  • Local repository: D:\apache-maven-3.9.5\repo

新建项目

使用单元测试来测试maven环境

在项目中的pom.xml文件中配置junit的依赖

<dependency>
 <groupId>junit</groupId>
 <artifactId>junit</artifactId>
 <version>4.12</version>
 <scope>test</scope>
</dependency>

测试代码

@Test
public void testJunit(){
 System.out.println("this is junit test.");
}

junit4采用注解方式,测试更加简洁方便

在junit4中:

  • 方法名可以随意

  • 访问修饰符必须是public

  • 方法返回值必须为void类型

  • 方法必须为无参方法

单元测试3和4的版本区别

  • JUnit3需要让测试类继承自TestCase类,java的单继承会出现局限

  • JUnit3需要测试方法必须以test开头, 方法命名很不灵活

测试套件:

一次性测试多个测试类

package com.saas;
​
public class Calc {
​
    public int add(int a, int b) {
        return a + b;
    }
​
    public int sub(int a, int b) {
        return a - b;
    }
​
    public int mul(int a, int b) {
        return a * b;
    }
​
    public int div(int a, int b) {
        return a / b;
    }
​
    public int mod(int a, int b) {
        return a % b;
    }
}
package com.saas.dao;
​
import com.saas.Calc;
import org.junit.Ignore;
import org.junit.Test;
​
import static org.junit.Assert.assertEquals;
​
public class TestCalc {
    Calc calc = new Calc();
​
    int n1 = 1, n2 = 2;
​
    @Test
    public void testAdd(){
​
        int actual = calc.add(n1, n2);
​
        assertEquals(3, actual);
    }
​
    @Test
    public void testSub(){
​
        int actual = calc.sub(n1, n2);
​
        assertEquals(-1, actual);
    }
​
    @Test
    public void testMul(){
​
        int actual = calc.mul(n1, n2);
​
        assertEquals(2, actual);
    }
​
    @Test
    @Ignore
    public void testDiv(){
​
        int actual = calc.div(n1, 0);
​
        assertEquals(0, actual);
    }
​
    @Test
    public void testMod(){
​
        int actual = calc.mod(n1, n2);
​
        assertEquals(1, actual);
    }
}
package com.saas.dao;
​
import com.saas.Calc;
import org.junit.Ignore;
import org.junit.Test;
​
import static org.junit.Assert.assertEquals;
​
public class TestCalc02 {
    Calc calc = new Calc();
​
    int n1 = 1, n2 = 2;
​
    @Test
    public void testAdd(){
​
        int actual = calc.add(n1, n2);
​
        assertEquals(3, actual);
    }
​
    @Test
    public void testSub(){
​
        int actual = calc.sub(n1, n2);
​
        assertEquals(-1, actual);
    }
​
    @Test
    public void testMul(){
​
        int actual = calc.mul(n1, n2);
​
        assertEquals(2, actual);
    }
​
    @Test
    public void testDiv(){
​
        int actual = calc.div(n1, 0);
​
        assertEquals(0, actual);
    }
​
    @Test
    public void testMod(){
​
        int actual = calc.mod(n1, n2);
​
        assertEquals(1, actual);
    }
}
package com.saas.dao;
​
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
​
@RunWith(Suite.class)
@Suite.SuiteClasses({
        TestCalc.class,
        TestCalc02.class
})
public class AllTest {
}

测试套件使用两个注解:

@RunWith是由Suite.class来运行

@Suite.SuiteClasses把多个需要测试的测试类的类对象都放进来进行一次性的套件测试

该类不需要类体

lombok

简介

快速编写实体类,自动生成getter和setter,以及toString方法

实现步骤

  1. 使得idea工具添加lombok插件(新版本的idea默认已经添加)

  2. 项目的pom文件中添加lombok的gav坐标

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.16</version>
        <scope>provided</scope>
    </dependency>
  3. 在实体类之上添加@Data, @NoArgsConstructor, @AllArgsConstructor

package com.saas.pojo;
​
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
​
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Student {
    private int sid  ;
    private String name ;
    private String sex  ;
    private double score;
    private int cid  ;
    private int age  ;
}

使用lombok,使得更新类里面的属性名,属性类型,属性个数变得异常方便

lombok确实提高了程序的编写效率

mybatis

简介

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录

持久层框架,使得对象从瞬时态变成持久态

对象有三种状态

  • 瞬时态

  • 持久态

  • 游离态

标签:Java,入门,int,maven,actual,import,Test,day68,public
From: https://blog.csdn.net/zpz2001/article/details/139854192

相关文章

  • kettle从入门到精通 第七十二课 ETL之kettle 三谈http post(含文件上传),彻底掌握参数传
    场景:群里有个小伙伴在使用httppost步骤调用接口时遇到问题,postman调用正常,但是kettle中调用异常。 解决方案:既然postman调用接口正常,肯定是httppost步骤中某些参数设置的不正确导致的。那就把常用的方式都梳理下,搞定它。 1、httppost请求参数放到body中,Content-Type是appl......
  • Java 消息队列详解
    什么是消息队列?消息队列是一种通过存储消息来实现系统间通信的中间件。消息生产者将消息发送到队列中,消息消费者从队列中取出并处理消息。这种模式实现了生产者和消费者的解耦,即使它们不同时在线,也可以通过消息队列进行通信。消息队列的关键概念消息(Message):传递的数据单......
  • 数学建模系列(2/4):建模入门
    目录引言1.如何开始数学建模1.1选择和描述问题1.2提出基本假设1.3确定模型类型2.建模的数学基础2.1线性代数基础矩阵运算线性方程组的解法2.2微分方程基础常微分方程偏微分方程2.3统计与概率基础描述性统计概率基础3.模型的求解方法3.1解析法3.2......
  • 032java jsp ssm大学生第二课堂成绩单系统学生思想道德技术修养文体活动管理(源码+数据
     项目技术:SSM+Maven等等组成,B/S模式+Maven管理等等。环境需要1.运行环境:最好是javajdk1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;3.tomcat环境:Tomcat7.x,8.x,9.x版本均可4.硬件环境:windows7/8/101G......
  • 026java jsp ssm网络硬盘系统网站系统(源码+数据库+文档)
     项目技术:SSM+Maven等等组成,B/S模式+Maven管理等等。环境需要1.运行环境:最好是javajdk1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;3.tomcat环境:Tomcat7.x,8.x,9.x版本均可4.硬件环境:windows7/8/101G......
  • 027java jsp ssm洗衣店管理系统(源码+数据库+文档)
     项目技术:SSM+Maven等等组成,B/S模式+Maven管理等等。环境需要1.运行环境:最好是javajdk1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;3.tomcat环境:Tomcat7.x,8.x,9.x版本均可4.硬件环境:windows7/8/101G......
  • 023java jsp ssm学校园教室管理系统(源码+数据库+文档)
     项目技术:SSM+Maven等等组成,B/S模式+Maven管理等等。环境需要1.运行环境:最好是javajdk1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;3.tomcat环境:Tomcat7.x,8.x,9.x版本均可4.硬件环境:windows7/8/101G......
  • 阿里云Apsara Clouder专项技能认证——弹性计算Clouder认证:ECS快速入门(实验、考试操
    前言证书特点:免费!免费!免费!多一个证书有啥不好呢!!!证书名称:阿里ECS专项认证证书有效期:2年培训需求:免费培训,阿里提供课程发证机构:阿里巴巴考试时间:随时,线上直接考考试语言:中文考试费用:0考试难度:★★☆☆☆社会认可度:★★☆☆☆性价比:★★★★★(因为免费,性价比拉满)技术......
  • java httpsession
    bychatgpt=>HttpSessionHttpSession是JavaServletAPI提供的一个接口,用于管理与单个用户相关的会话信息。会话(session)是在服务器端保存的与客户端用户交互的一系列请求和响应之间的状态信息。以下是HttpSession的详细解释:HttpSession的作用HttpSession用于在用户的多......
  • RocketMQ快速入门:如何保证消息不丢失|保证消息可靠性(九)
    0.引言在金融、电商等对数据完整性要求极高的行业,消息的丢失可能会导致数据不一致,严重影响业务逻辑和数据统计,也影响客户体验,所以在很多业务场景下,我们都要求数据不能丢失。而rocketmq中,如何对消息防丢失进行处理的呢?1.原理1.2产生消息丢失的场景首先我们要理解消息......