发表于: 2017-12-16 22:26:17
1 647
今天完成的事情
1.死磕mybatis
重新配置了一次mybatis(半自主配置,实在想不起来就看看教程),终于对mybatis的配置文件做了什么有了理解
(1)新建实体类Category
这个没啥好说的了,声明属性,写上set和get方法就好了
(2)编写configuration.xml配置文件
在编写之前我自己列了一个大纲:然后我就照着大纲开始死磕xml文件了
恩...是的,因为打字慢,我就在笔记上手写的,哈哈哈这里就不传了
(3)编写Category.xml文件
这个大纲就简单了:指定命名空间,然后把对数据库的操作方法扔进去
搜索了一下命名空间:namespace用于绑定Dao接口,我认为是接的Category这个实体类(请师兄告诉我对不对呢,这里高亮)
上图就是我拿来做例子的, 代码里的 id 是sql语句的唯一标识符,parameterType是传入sql语句的参数类型(在这里就是我们调用insert插入的 是一个Category类型的数据);#{}表示一个占位符,其中的name代表传入的参数的值(这里也需要师兄评判一下我这种说法对不对)
(4)编写测试类
这里呢我也有写大纲,但是我在类里面加了注释,我就直接上传吧(idea就是爽,自动导包)
我是这么理解的啊:第一行:首先我们拿到了名为mybatis-config.xml的图纸,我们决定就用它来做一些事情;
第二行:我拿到图纸了,开始分析图纸的信息,转化成我能明白的东西,在我的脑海里;
第三行:那么我想要按照图纸来做些事情,首先我按照我理解的图纸内容进行一次加工(造厂)build by 图纸
第四行:造好了,我想开始做事情了,首先准备个会议,在这时会议内容还没定好,要跟大家解释一下这个厂是干啥的啊,怎么干啊
ok,接下来就是准备会议内容了:
这次开会呢是想要在厂子里生产一个“想不到吧”ListAll(session)就是把产品都列出来(某小弟执行)
session.commit()就是提交我这个决定,你可以去执行了(散会之后)
session.close()就是散会
然后我的执行小弟就把执行结果给我送来了
看了这个产品,我又想把这个产品改良了,于是我又开会,会议内容:
现在我想把“想不到吧”改良成一个“真是想不到啊”,那首先我们得先选好了改良对象啊
选好了就决定给他改良成啥样,然后就让我的执行小弟去执行
蓝后?蓝后执行小弟这不给我送来了吗
咳咳,抱歉,在自己厂子里就是可以为所欲为,忘了给大家介绍我的执行小弟了。我只需把会议内容session告诉我的执行小弟listAll,他就会 去把任务完成了
就这样,我把mybatis打死了,大家撒花
2.开始硬肛(好像暴露了什么)spring
根据教程,我要对Category的name属性注入一个category1的字符串,我不禁陷入了沉思大纲走起
首先我得有个Category类,类里面还得有个name属性,恩....这就不传了(set和get方法也有)
(1)好的,接下来请假装你们已经看到了我创建好的Category类,那么我该设定一个容器了
(2)新建applicationContext.xml文件,这个applicationContext.xml是Spring的核心配置文件,通过关键字c即可获取Category对象,该对象获取的 时候,即被注入了字符串"category 1“到name属性中。(有头有脸的大人物。响当当)
我划线的以上不在我认知范围内(好像都一样),从划线起我来解释
第一句:指定一个bean容器 c 作用范围那一串的Category类
第二句:属性名是 name ,给name 的值是 category1(我不装了,师兄,我这么说对吗?求解答)
(3)写一个测试类验证一下
就是他了,
惯例解释一下这句代码话是什么意思:
首先解释一下ClassPathXmlApplicationContext,这句洋文呢是从类路径中寻找指定xml文件,并装载完成AplicationContext的实例化工作。
这句代码呢就是装载并完成了实例化工作,当这个容器实例化完成,就可以通过getBean方法从容器中获取装配好的bean实例了
上面呢(Category)是类型强转,然后通过getbean方法,完成了对我们新对象c的name的注入
刚刚其实就是Category c = new Category();c.name = category1;
接下来要做的就是在一个类中引用其他类的对象
跟着教程:向Product对象中注入一个Category对象
我的娘哎我都蒙了,什么叫往对象里注入对象呢
跟着教程创建了一个Product类,与刚刚的Category类其实差不多,只是多了几行代码:
然后配置xml文件,在之前的bean下加上这么几行:
这里要给product对象注入category对象,最后一行的property name = category 意思是属性的名字是category,在product类中有这个属性,那 么会执行刚刚的bean,给这个category属性赋值category1 (同理,求师兄指正对不对这种解释)
那么test文件也要修改一下:
执行之后的结果:,我们看到,注入成功
这些工作呢 我认为是在product类下引用了category类的对象category,且其值为category1,这个对象是bean给的 (师兄啊啊啊啊,这么说对吗)
今天的收获:
终于进入了spring环节,而且把mybatis的遗留问题解决了,浑身舒畅,果然不上班就是学的开心!
今天遇到的问题:
就是我标红的那些理解,都是我自己的理解,不知道对不对呢,还望师兄解答
明天计划的事情:
接着搞spring,明天学习注解方式完成注入对象以及AOP
最后,当时麻烦师兄审核并且解答小弟的问题了
评论