--more--> 相对于Hibernate 他的优点就是可以进行SQL 的定制化,能让我们的SQL更加优化,虽然 Hibernate 也可以这么做但是有一点就是我们需要在原来的框架的基础上学习更多的...-- 设置日志输出文件名 --> <!...select * from employee where id=#{id} ``` 注意这里其实我们的mapper和测试类里的参数必须是需要匹配的才行...的查询语句链接起来的,这里我们又怎么做这个映射关系呢?...SqlSession和connection一样都是非线程安全,每次使用都应该去获取新的对象,不可以当作一个成员变量 ,不然自然会导致紊乱,也就是我们需要把他放在一个局部方法中,用完关闭。
01 Spring Boot和SSM的关系 如果你要问我,现在开发企业级的应用是否应该使用Spring Boot框架? 我的回答是肯定的。...可能有初学者会说,可是我还还没有掌握@RestController、@PathVariable、@MatrixVariable等注解的相关知识啊,那么你应该去认真学习IoC、AOP、Spring MVC...因此如果说Spring用得很熟练,至少要完成如下的自由转换: XML配置(注解) Java 也就是说:无论你看到什么样的XML配置(或注解),都能迅速知道Spring容器会在底层对应执行怎样的...Java代码;反过来,给你任何一段Java代码,你都应该能将它使用XML(或注解)配置出来。...李刚老师在课程中现场编写程序,一步一步的告诉你,要做什么,为什么,怎么来,应怎么做,还能怎么做,让你完全明白这些Java体系的前世今生!
另外,昨天在拍婚纱,有个活动,需要120个祝福,我老婆说,要这么多呀,我说,分分钟就搞定,刚发没多久,就凑齐了,非常感谢大家的祝福~也让我成功在老婆面前装了个逼,所以,非常感谢大家,后面一定多写好的文章来感谢大家...接下来介绍一下我的自定义View RandomTextView的用法和原理 用法 考入 RandomTextView.java 只有200行绝对轻量方便。...但是可能有些方法你必须在super.onDraw(canvas),以后才可以获取的比如getPaint();那么我们就可以加个布尔值firstIn来控制只有第一次进入onDraw方法才去执行,或者其它的只做一次的事情都可以这样去控制...第一条线应该注意你绘制的只是一个瞬间,是个不断重复执行的线。...绘制原理的逻辑就讲完啦,RandomTextView可以投入使用啦,自定义view并不难,只要你知道安卓API能让你能干什么,你想干什么,你可能马上就知道你应该怎么做啦。 欢迎关注作者。
相对于Hibernate 他的优点就是可以进行SQL 的定制化,能让我们的SQL更加优化,虽然 Hibernate 也可以这么做但是有一点就是我们需要在原来的框架的基础上学习更多的 HQL 相关的东西,...-- 设置日志输出文件名 --> select * from employee where id=#{id} 注意这里其实我们的mapper和测试类里的参数必须是需要匹配的才行...的查询语句链接起来的,这里我们又怎么做这个映射关系呢?...SqlSession和connection一样都是非线程安全,每次使用都应该去获取新的对象,不可以当作一个成员变量 ,不然自然会导致紊乱,也就是我们需要把他放在一个局部方法中,用完关闭。
恕我斗胆直言,对开源的 WEB 框架了解多少,有没有尝试写过框架呢?XML 的解析方式有哪些?能答出来吗?! 心中没有答案也没关系,因为通过今天的分享,能让你轻松 get 如下几点,绝对收获满满。...首先 JAXP 的出现是为了弥补 JAVA 在 XML 标准制定上的空白,而制定的一套 JAVA XML 标准 API,是对底层 DOM、SAX 的 API 简单封装;而原始 DOM 对于 Java 开发者而言较为难用...,于是一批 Java 爱好者为了能让解析 XML 得心应手,码出了 jdom;另一批人在 jdom 的基础上另起炉灶,码出了 dom4j,由于 jdom 性能不抵 dom4j,dom4j 则独占鳌头,很多开源框架都用...XStream 本不应该出现在这里,但是鉴于是经验分享,索性也列了出来,在以往项目中报文转换时用的稍微多些,尤其是支付 API 对接时用的超级多,使用它可以很容易的实现 Java 对象和 XML 文档的互转...假如要对本地的 miniframework-config.xml 文件,采用 digester 的方式进行解析,应该怎么做?(配置文件的内容有似曾相识的感觉没?文末解谜) <?
大家好,我是小小刀,又和大家见面啦,今天开始我们java学习的新篇章,欢迎一起学习!...版本等选项,推荐java 11 , 就跟着最新的学吧,这是一个长期支持的版本。...,如果换做是我们来做这个事情,我们会怎么做呢?...首先,依赖肯定是用maven/gradle帮忙管理的,所以starter项目应该也是一个maven/gradle的Springboot程序,在pom.xml把依赖都定义好,定义哪些?...从第一张可以看出来,一个才入门的小白,半个月的时间,成长的速度令人惊讶! 学习也是如此,唯有静下心来,跟着上面的思路,我们一步一步的去探索,去沉淀,这样才能学有所得,真正拿下这个知识点!
,那么这个意义就远远超出了目前的需求,如果实现应该能让我的知识集成为一个完整的体系,保守估计,能让我的效率提高50%。...整个项目是基于Java实现,使用了struts,hibernate和大量的开源项目,数据库使用MySQL,web服务器使用tomcat,当然数据库和web服务器是可选的,还有其他的很多选择。...环境的要求是: 下载xwiki的war包,大概是200M左右,网址是xwiki.org 下载tomcat,我选择的是1.8,修改下conf里面的配置,设置字符集为utf8 conf/server.xml...protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 下载Java...启动tomcat,我们的配置才刚刚开始。浏览器输入: http://192.168.253.141:8080/xwiki 就会看到如下的配置信息,搭建的步骤大体有下面的内容: ?
从上面你大致可以发现,resultType适应较简单的输出结果映射,MyBatis其实还提供了resultMap做复杂输出结果映射,比如数据库column列与字段名称不一致的映射,比如延迟加载,比如一对一...这里仅仅分析下映射思路,就不贴XML片段了。我想只要思路清晰,那么就会很简单。...如果不是,那么显然应该进行延迟加载配置。...怎么做呢?一句话,需要的时候,我们自己调用相应的Statement完成即可。 查询缓存 MyBatis是要和DB打交道的,那么自然涉及到数据查询缓存的问题,这有利于提高系统的查询效率。...逆向工程 什么是逆向工程,说白了,就是MyBatis为我们提供了一个自动代码生成工具,这个工具可以根据数据库表信息,帮助我们生成Mapper.java/Mapper.xml/POJO实体类。
码农们写出来的代码怎么才能让框架知道, 并且调用呢? 张大胖本来想找Bill 问个明白, 但转眼一想, 自己要是能思考出结果岂不更加印象深刻? !...在抽象类的具体方法中,可以处理一些框架公用的逻辑, 然后调用那些子类应该实现的抽象方法, 这不就把框架和应用结合起来了吗? 嗯, 这不就是我上周看过的一个著名的设计模式: 模板方法吗?...“啊, 我知道了,你刚才说的结构化信息提醒了我, 可以用XML啊, XML来描述结构化东西很擅长!..." “这种声明的方式真是不错,业务类不用继承框架的抽象类了,我刚想到一个问题, 我们的Java类和XML配置不在一起, 当我们想知道一个类的方法,字段是怎么被框架使用的时候,还得回过头来查看XML,...Bill 笑了: “那只是Java内置的一些注解, 现在Java可以自定义注解了, 我们完全可以利用这种注解来声明框架想用的信息, 我给你举个例子:” ?
在不久之前,我才发布了一篇Android 10适配的文章,讲的是作用域存储的相关内容,详见链接 Android 10适配要点,作用域存储 。...这里我准备使用在第12章中编写的MaterialTest项目来作为示例,看看如何才能让它更加完美地适配深色主题模式。...因此,我们得进行一些系统差异型编程才行。...因此,这里我并不推荐你使用这种自动化的方式来实现深色主题,而是应该使用更加传统的实现方式——手动实现。...由于Kotlin取消了按位运算符的写法,改成了使用英文关键字,因此上述代码中的and关键字其实就对应了Java中的&运算符,而Kotlin中的or关键字对应了Java中的|运算符,xor关键字对应了Java
+controller 部分,即除了静态页面,还需要负责页面的所有交互代码、以及 nodejs 与视图层以及后端 API 的交互工作,无疑增加了前端人员的学习成本,在没有足够知识和人才储备的情况下,只能让前端人员加班加点...RESTFul 风格的 API 应该是前后端分离的最佳实践。...前后端分离的话,这些 api-url 是对接的桥梁,采用 RESTFul 接口地址含义才更清晰、见名知意。...怎么做前后端分离?大方向就是 后端专注于:后端控制层( RESTFul API) & 服务层 & 数据访问层。...前端的任务是发送API请(GET,PUT,POST,DELETE 等)获取数据(json,xml)后渲染页面。
else { delegate.parseCustomElement(root); } } 现在我们就来看看parseCustomElement这个方法,但在点进去之前不妨想想自定义标签解析应该怎么做...在往下看之前,我们先想一想,如果是我们自己要去实现这个注解解析过程会怎么做。...定义我们自己的标签 通过上面的分析,我相信对于定义自己的标签流程应该大致清楚了,如下: 首先设计一个标签并定义其NamespaceHandler类,让它继承NamespaceHandlerSupport...不可能让其他人随便写,否则怎么识别呢?因此需要一个规范约束。...是不是应该在解析xml之前就把规范设置好?
Q3:我看你有写apk瘦身的部分,可以介绍一下是怎么做的吗?...A:图片保留3x、Lint清代码、图片压缩、微信资源压缩、xml中api大于21的抽取style 期间细致的问: Lint清代码如何处理反射的部分?...Q11:你主要用Java还是Kotlin? A:前面用Java,C公司的APP编写用了Kotlin。 Q12:了解类加载的过程吗?...Q3:想一个问题,假如有一个表情库,每个表情都有名字(字符串表示),用户每次输入需要与库中某一表情名字完全匹配才向服务器请求相应的表情。如何存储这个表情名字库?...小明发现了一个自增数组,就是说每次操作能让数组中的一个元素+1,问至少操作多少次,可以让数组中的每个元素不一样?输入为两行,第一行代表数组长度,第二行代表数组中每个元素的值。
在前后端分离模式中要负责项目的view+controller部分,即除了静态页面,还需要负责页面的所有交互代码、以及nodejs与视图层以及后端API的交互工作,无疑增加了前端人员的学习成本,在没有足够知识和人才储备的情况下,只能让前端人员加班加点...前后端分离的话,这些api-url是对接的桥梁,采用resultFul接口地址含义才更清晰、见名知意。...怎么做前后端分离?...项目开发阶段,前后端分离是各自分工,协同敏捷开发,后端提供Restful API,并给出详细文档说明,前端人员进行页面渲染前台的任务是发送API请(GET,PUT,POST,DELETE等)获取数据(json,xml...4、项目部署阶段,利用nginx 做反向代理,即Java + nodejs + nginx 方式进行。
> <web-app version="2.5" xmlns="http://<em>java</em>.sun.com/<em>xml</em>/ns/javaee" xmlns:xsi="http://www.w3.org/2001.../XMLSchema-instance" xsi:schemaLocation="http://<em>java</em>.sun.com/<em>xml</em>/ns/javaee http://<em>java</em>.sun.com/<em>xml</em>...-------------------- 部署项目后,启动服务器,输入:http://localhost:1000/struts2_0100_introduction/hello.action 浏览器<em>输出</em>...那么我们<em>应该</em>怎样配置<em>才</em>可以解决这种情况呢? 修改struts.<em>xml</em> 代码; <!...中间要经过一次中转,一次请求来了之后,要经过一次中转<em>才</em>可以拿到我们想要的东西 他的好处是可以把请求和最后要拿到的结果(视图)给他分开,而不像原来那样之间写死。
对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj 。...示例 : 输入: [1,2,3], [1,1] 输出: 1 解释: 你有三个孩子和两块小饼干,3个孩子的胃口值分别是:1,2,3。...虽然你有两块小饼干,由于他们的尺寸都是1,你只能让胃口值是1的孩子满足。所以你应该输出1。 (难道剩下一个饼干喂狗吗?????) 02 题解分析 好吧。...具体怎么做呢,我们把饼干和小朋友都按照从大到小排列。 ? 如果最大的饼干可以满足肚子最大的孩子,那就给他吃,同时比较下一个。...按道理讲,肚子越大应该越扛饿才对吧。所以我们换种思路,从肚子最小的孩子开始。 ? 如果最小的饼干可以满足肚子最小的孩子,那就给他吃,同时比较下一个。
我们都知道AS是基于IDEA开发的,IDEA的特点就是插件多,那么AS有没有什么插件能让我高(偷)效(懒)写代码呢?以下是我常用的几个插件,效率提升挺多的。...作为懒人,有没有一种插件可以帮助我们自动生成java bean。 有!如图所示 Alt+S快捷呼出(mac Option+S) ?...butterknife莫属,使用注解方式findbyid和onclick,这也就少写一些代码,怎么能算懒呢,使用Android_ButterKnife_Zelezny自动生成findbyid和onclick代码才叫懒嘛...Android_Studio_Prettify_findbyid.gif Prettift还有个附属功能,可以不用去string.xml文件里就可以生成字符串常量 ,光标选中字符串,右键Extract...配合GsonFormat输出爆表。 ? JSONView.png 10 后记 工欲善其事必先利其器 当我们有一个快捷开发的编程环境之后,不仅代码效率提高,而且越写越开心。
没问出啥 应该是个日常招聘,要求尽早到,本来想刷下经验,感觉外企好像问的是不太一样,要我之后去上海再面,感觉不是很想去,感觉他面面也估计不太想要我。...主线程在别人算时候没事,应该怎么办,我说等待,或者阻塞什么的。好像回答的一般。...携程(一面) 携程笔试 过了一题,收到了面试通知, 携程现场面试 问了实习项目 项目中是否涉及到,调用别人的接口,应该怎么做,即服务之间的调用要怎么做。...感觉应该 是问的RPC 相关,dubbo什么的 1java中哪些类是线程安全的,问的是除了并发包之外,哪些也能保证安全 2怎么实现并发安全,在编程时怎判断会出现并发问题,即判断是否需要用并发安全的类 2GC...我说分析代码,找bug,设置断点等。说线上才出错,不能debug怎么办,不会了。
大家好,又见面了,我是全栈君。 回顾基础知识,可以发现很多基础的东西值得去研究。 注意: 开发Servlet3的程序需要一定的环境支持。...Servlet3是Java EE6规范的一部分,Tomcat7都提供了对Java EE6规范的支持,Tomcat7需要使用JDK6。...非阻塞输出——发送数据到客户端,即使客户端或网络很慢也不会发生阻塞。 延迟请求处理——Ajax web应用的Comet风格,可以要求一个请求处理被延迟,直到超时或一个事件发生。...其实经过上面的特信,最明显的和最实用的一个应该是标注式编程。 比如在3.0以前,声明Servlet的做法可以要在web.xml上配置mapping,然后再编写类实现。...总结: 在使用sping mvc久了之后,再来回顾这些基础点来对比框架的发展历史和使用方式有很大的帮助,能一点一点的分析这个功能为什么要这样做,和是怎么做出来的。
领取专属 10元无门槛券
手把手带您无忧上云