发表于: 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

最后,当时麻烦师兄审核并且解答小弟的问题了

       


返回列表 返回列表
评论

    分享到