智能家居环境检测系统(新手假期实训项目java+数据库)day2学习日记

一,测试:

  1. 新建maven项目maven second,在second项目中引用first项目

  1. 如果first项目要被其他项目引用,要把first项目安装到maven的本地仓库,昨天学习的命令mvn install

  1. 使用【run as】中的【maven build】来执行

  1. 多个目标可以执行多个目标,中间用空格隔开,安装成功后就可以在maven仓库根据gav坐标找到相应jar包

  1. 引用成功后可以观察两个项目的依赖情况,得把junit范围改为默认。(没实操)

二,maven项目中的关系

继承关系

聚合关系

项目搭建(以聚合关系来处理项目中的结构,依据分析,暂时划分为3个模块)

父项目:sxnd_env_progect

子模块:env_common(公共模块),env_client(客户模块),env_server(服务器模块)

步骤:

1.新建父项目,打包方式为pom

  1. 在父项目中,【new】->【other】新建[Maven module],依次创建上面的三个子模块。

遇到问题1:包和文件夹是分开的,修改父pom,子pom不变。

解决了:

三,版本控制工具(git)一款开源且免费的版本控制工具

官网下载,

运行exe文件一路next安装完成,

验证右击的时候会出现两个工具

单人常见操作(主要用于备份):

git pull拉取

git add添加

git commit提交

git push

git init初始化一个仓库

创建仓库

任意文件夹-->右键git bash here-->get init

克隆远程仓库(git clone)从远程仓库(github/gitee)复制到本地,可以拿到被别人的优秀项目,本次实训主要是推送和拉取自己的项目

完成一个码云(gitee)账号的注册

四,将本地仓库与远程仓库建立练习,并且推送文件到网络仓库

  1. 在桌面上新建一个空白文件夹【git-test】

  1. 双击打开,右键【git bash git here】,打开之后绑定邮箱和账号

3.新建空白邮箱,你可以输入

4.将新建的文件添加到本地仓库

5.将添加进去的文件,提交到本地仓库

6.建立和远程仓库的链接(这里一般只用做一次)

7.把当前本地的内容提交到仓库

推送完成之后,刷新gitee的网页,看是否上传成功

如果第二次开始,对于【git-test】文件夹中的内容有修改,仅需要执行上面步骤的4,5,7

8.远程仓库通过网页修改文件内容

五,使用git备份我们的项目(扩展)

  1. 新建一个正规的仓库

  1. 将本地项目存在的文件夹初始为本地仓库

  1. 和远程仓库进行连接然后添加内容,提交内容

  1. 将已有的内容推送到网络仓库进行备份

六,项目搭建

    • env_commen:放入公共的类和接口

实体类

工具包

该项目封装的自定义异常

用来定义功能的接口

配置模块的实现类和日志模块的实现类

b.env_client:客户端的主要程序

采集日志文件中的信息

发送到服务器

c.env_server:服务器端的主要程序

接收客户端传过来的信息

解析信息并录入到数据库里

创建包的结果如上图

七,项目需求()

采集模块

package com.briup.entity;

import java.io.Serializable;
import java.sql.Timestamp;


public class Environment implements Serializable {
 
    private static final long serialVersionUid = 1L;
  
    private String name;
    
    private String srcId;
    
    private String desId;
    
    private String devId;
    
    private String address;
        private int count;
    
    private String cmd;
        private int status;
    
    private float data;
    
    private Timestamp time;

    public Environment() {
    }

    public Environment(String name, String srcId, String desId, String devId, String address, int count, String cmd, int status, float data, Timestamp time) {
        this.name = name;
        this.srcId = srcId;
        this.desId = desId;
        this.devId = devId;
        this.address = address;
        this.count = count;
        this.cmd = cmd;
        this.status = status;
        this.data = data;
        this.time = time;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSrcId() {
        return srcId;
    }

    public void setSrcId(String srcId) {
        this.srcId = srcId;
    }

    public String getDesId() {
        return desId;
    }

    public void setDesId(String desId) {
        this.desId = desId;
    }

    public String getDevId() {
        return devId;
    }

    public void setDevId(String devId) {
        this.devId = devId;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public int getCount() {
        return count;
    }

    public void setCount(int count) {
        this.count = count;
    }

    public String getCmd() {
        return cmd;
    }

    public void setCmd(String cmd) {
        this.cmd = cmd;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public float getData() {
        return data;
    }

    public void setData(float data) {
        this.data = data;
    }

    public Timestamp getTime() {
        return time;
    }

    public void setTime(Timestamp time) {
        this.time = time;
    }

    @Override
    public String toString() {
        return "Environment{" +
                "name='" + name + '\'' +
                ", srcId='" + srcId + '\'' +
                ", desId='" + desId + '\'' +
                ", devId='" + devId + '\'' +
                ", address='" + address + '\'' +
                ", count=" + count +
                ", cmd='" + cmd + '\'' +
                ", status=" + status +
                ", data=" + data +
                ", time=" + time +
                '}';
    }
}

  1. 将分析的程序1得到的数据(一份日志文件),在程序2(客户端)中使用IO流读取配置文件,

  1. 然后按照格式“|”进行分割

  1. 将数据取出来封装成一个对象

  1. 将多个对象装在集合中返回出去即可

依据这些属性抽象一个类(由模块id确定环境名称)

环境数据可以监控 温湿度,co2浓度,光照强度,

网络模块(2个接口)

客户端为发送端

抽象出发送的接口【Client.java】,分析:发送的方法需要参数,不需要返回值

发送的数据应该是什么类型?网络编程中要做什么类型的数据交换?发送的数据可以是对象

服务器为接收端

一个接受的方法,不需要参数,需要返回值

package com.briup.env.common.interfaces;

import java.util.Collection;

import com.briup.env.common.entity.Environment;

public interface Client {
    /**
     * 客户端发送方法
     * @param coll 代表采集到的并且整理好的数据清单
     */
    public void send(Collection<Environment>coll) ;
        
    
}

【server.java】

package com.briup.env.common.interfaces;

import java.util.Collection;

import com.briup.env.common.entity.Environment;

public interface Server {
    /**
     * 服务器接受方法
     * @return返回从客户端收到的数据清单
     */

public Collection<Environment> receive();
    
}

【dbstore.java】

package com.briup.env.common.interfaces;

import java.util.Collection;

import com.briup.env.common.entity.Environment;

public interface DbStore {
    /**
     * 入库方法
     * @param coll服务器接受回来的数据清单
     */
    
    public void dbstore(Collection<Environment>coll);
        
}

【gather.java】

package com.briup.env.common.interfaces;
//主要提供采集功能的接口

import java.util.Collection;

import com.briup.env.common.entity.Environment;

public interface Gather {
    //采集环境数据,return环境对象集合
    public Collection<Environment>gather();
}

入库模块

主要由服务器端执行,有参数无返回值

今天就学到这里啦,打到了这里,不过我的代码@Override加上就报错,刚刚搜了是因为没有方法重写,不过老师好像也没方法重写就没有报错,一定是哪里错了,明天好好看看,晚安!

配置模块

日志模块

UI模块(扩展)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值