发表于: 2017-10-07 21:16:42

1 804


今天完成的事情

学习spring 的IOC

IOC即控制反转,将创建对象的控制权交给IOC容器,在其配置文件中实现注入,在java代码中直接去用即可。

在配置文件中,如果有一下代码:

<bean naem="c" class="com.pojo.Category">
 <property name="name" value="category"/>
</bean>

表示的是命名一个c标签,可以创建Category类的实例并将字符串category注入到实例的name属性中。



完成任务一并上传代码到github


任务小结

感觉可以将任务一分成三部分

第一部分1-16
大多数都是下载各种所需的软件以及配置相应的环境,基本上,百度一下就可以找到相应的方法了。不过,有许多细节在当时没怎细看,只是满足与按照步骤去实现,之后就没怎么思考过。现在尝试梳理一下。
这一部分又可以分为两个阶段,其一是关于mysql数据库的学习
步骤一中出现了业务模型,对象,属性,对象之间的关系,对于新手来说,理解这些概念并不容易。安装mysql只需要注意配置好环境变量以及修改一下其配置文件中的编码为utf-8就行了。navicat其实相当于是mysql的图形化界面,使得在cmd中进行的操作变得直观易懂,到第11步为止,要求具备对数据库进行最基本操作的能力,如创建数据库,表,增删改查,建立索引等,所以最好先找找mysql相关的书或课程看看。
其二是12-16步,在次阶段开始接触java,需要了解JDK,JRE,Maven,IDE(eclipse或IDEA)这些用于java项目开发的工具。关于maven,要了解它三套的独立的生命周期,以及其最基本的命令如clean,install的具体含义,以及它通过pom文件来添加jar包的特别之处。
第二部分17-21
步骤并不多,却感觉是最难的一部分,一开始百度了半天也还是不明所以,在抄了好几天代码后才慢慢理清思路。大概是要编写一个DAL数据访问层(DAO),来实现对数据库的操作,之前的操作是有我们手动输入命令来操作的,在这是则是改用java代码来实现,其实具体的命令还是由人编写到java代码中的,相当于由之前的,人与数据库直接接触变成了人与数据库之间隔了一层,大概类似于电磁继电器。基本思路应该是先了解JDBC,这到了JDBC实现操作数据库的具体方式,才好理解mybatis和JDBCTemplate的优点。对于JDBCTemplate,则还应该先了解spring,才会理解为什么JDBCTemplate是spring对JDBC的封装。而对于spring的学习,在任务一中应该主要侧重于理解IOC即控制反转,要知道它相比于手动创建对象的方式的优势。junit可以用于单元测试,可以单独测试一个方法而不需要写一个main方法。关于日志,需要了解输出日志的工具log4j,这里由一个需要注意的问题是log4j已经停止更新了,其升级版本是log4j2,有时候会发现虽然添加了jar包,但是import的时候 还是会标红,可能就是这个原因。
第三部分22-29
在这一部分主要是熟悉远程连接数据库,对于linix系统的服务器,需要熟悉命令行操作模式,windows系统的服务器,其操作和普通的PC基本一致,服务器可以粗略地看作是一台不停机的电脑。第28步插入大量数据,考察了有无索引的差别,以及数据库的性能。对于数据来源,一开始我还以为是到某个网站上找100万条数据来操作,其实不是。最简单的方法是一条数据重复插入100万次就行了,和想象中的差别有点大。还有一种方法是可以在一个数组中随机取出一个,作为某个字段的数据,将几个随机数据拼接在一起,作为一条记录来进行插入操作。对于插入数据的方式,如果一条一条地插入的话,效率太慢了,网上多数方法是,用一条sql语句来插入1万条记录,分100次插入,可以极大地提升效率。

任务一的前提其实是默认学员已经掌握了java基础语法的,所以对于新手来说并不友好,也只能哪里不懂查哪里,一点一点地磨了。


明天的计划

开始任务2


遇到的问题

在pom中添加log4j用来打印日志,在类中引入相关的类的时候却报红,查阅了半天才发现是因为添加log4j 的2.0以上的版本,其实就是log4j2,改用log4j 1.2.16版本就好了。


收获

如上


返回列表 返回列表
评论

    分享到