发表于: 2017-09-29 16:32:31

1 740


今天完成的事情:

一、把任务一完成的的代码进行打包发布到服务器并成功运行

   1.项目框架:Spring+mybatis整合

实现功能:通过控制台来交互实现对数据库的增删改查简单的功能示例如下:

2.代码流程

(1)首先是数据库的设计,这部分比较简单,不在赘述。

(2)我这里把Javabean定义在model层,定义基本的成员变量与数据库字段对应,设置set和get方法,

重写tostring方法。

(3)dao层定义对数据库的增删改查方法,这里只写接口不写实现类。

(4)定义service层或者说是action层,这一层主要是与用户的交互,接受用户输入的参数后者指令,然后调用dao层的方法,接着dao层与数据库交互返回结果给server层,接着service层在展示给用户。这样做的好处是隔离的各个层之间的关联,使得各层的修改对整个项目的改动影响降低。

(5)写测试方法来逐一实现dao层定义的方法是否功能正常运行。

(6)写main方法,这里展示就是在简单在控制台里实现,从逻辑上来说应该是要有一个view层的。这也是最基本的MVC的基本思想。

3.打包部署远程服务器

(1)直接打包成可执行jar包,maven的配置文件pom.xml需要改动添加如下标签,标红处指明main方法的入口,从src/main/java/之后可是写,我这里是com.lhq.task.main.UserMain

  <!-- 打包jar并添加依赖,可直接运行 -->

<build>

<plugins>

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-shade-plugin</artifactId>

<version>2.4.1</version>

<executions>

<execution>

<phase>package</phase>

<goals>

<goal>shade</goal>

</goals>

<configuration>

<transformers>

<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">

<mainClass>xxxx.main</mainClass>

</transformer>

<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">

<resource>META-INF/spring.handlers</resource>

</transformer>

<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">

<resource>META-INF/spring.schemas</resource>

</transformer>

</transformers>

</configuration>

</execution>

</executions>

</plugin>

</plugins>

</build>

(2)使用maven命令来打包跳过测试:mvn clean package -DskipTests

生成的jar在项目文件下的target目录下,生成了两个jar包,选择不带original前缀的jar包,这个jar可以直接使用命令执行:java -jar *.jar

之后把task1-1.0-SNAPSHOT.jar传入到远程服务器上运行

(3)远程服务器直接运行

   用xshell工具连接远程服务器,找到上述的文件所在目录,我这里把包名字改了。

功能1:

功能2

功能3

功能4

功能5

以上就是基本的功能,项目所有文件已上传Git:https://github.com/TechMessage/task_lihq


明天的计划:

1.开始着手任务2

遇到的问题:

1.在用maven命令打包可执行jar包的过程中会遇到报错

 maven打包的jar包用压缩软件打开,发现里面是缺少这三个重要的文件的

只需要把对应项目下的文件拖到打包的jar里重新保存下。

2.接着还是会报错,找不到对应的mapper.xml文件,也是同样的做法,把项目里的*mapper.xml文件复制一份放到jar包里,路径和项目里的保持一致

3.接着就可以运行了,上面的两个问题是我遇到的,我在百度上没有搜到答案,然后自己根据错误信息尝试来做的,结果还是可行的。

收获:

    整个任务一的流程下来算是走通了,但是几种还要很多的知识点需要细化,然后进行拓展和加强联系。就比如spring框架究竟是如何运转的,看概念的话确实很抽象,IOC控制反转什么的都是很难搞清楚为什么这么做,这么做究竟有什么意义,通过上面的任务一整个流程走下来,可以发现在对象的创建过程中,确实省了很多的步骤,基本基本上把所有的中间过程配置到xml文件里,我们只要最终的接口就能够对数据库实现各种操作。mybatis的作用或者他的初衷我的理解是就不是不用写接口实现类了,我的项目里也只是写了UserDao这个接口,定义了方法,具体的实现类并没有写。



返回列表 返回列表
评论

    分享到