MyBatis

关于Spring、Springmvc、Springboot和SSM之间的区别,这篇文章告诉你怎么才是最简单的解释

青春壹個敷衍的年華 提交于 2020-10-02 20:23:28
分享分享自己收藏的学习资料,有需要的朋友可以找我获取 根据自身面试经历整理以及不断收集的(珍藏版) 【推荐】2020年最新Java电子书集合.pdf(吐血整理) >>> https://www.cnblogs.com/xiaogeng88/p/12692306.html 什么是Spring: Spring 框架的核心特性是可以用于开发任何 Java 应用程序,但是在 Java EE 平台上构建 web 应用程序是需要扩展的。 Spring 框架的目标是使 J2EE 开发变得更容易使用。 Spring框架体系结构长这样: 什么是Spring MVC: Spring MVC是Spring的一个模块,是一个web框架。通过Dispatcher Servlet, ModelAndView 和 View Resolver,开发web应用变得很容易。解决的问题领域是网站应用程序或者服务开发——URL路由、Session、模板引擎、静态Web资源等等。 什么是Spring Boot: Spring Boot实现了自动配置,降低了项目搭建的复杂度。 因为Spring框架需要进行大量的配置,Spring Boot可以自动配置,让项目设置变得很容易。实现了开箱即用的原则,开发者只需要引入自己需要的第三方库即可,有的库也许需要一些小的配置,但是大部分的库都不用配置。Spring

如何成为Java软件工程师

ぃ、小莉子 提交于 2020-10-02 19:57:04
首先,学习Java能用来做什么?Java目前有哪些就业方向?我们先看一下下图 上图给出了两个最重要的方向Java Web和Ardroid方向,其实我们经常说的Java软件工程师,我觉得应该叫Java Web软件工程师或Java后端(服务端)工程师比较贴切一些。Java Web能做的事情非常多,我们在使用淘宝去查找商品时,打开浏览器输入网址,输入商品名称,点击搜索,这时候前端页面(浏览器)通过HTTP协议把商品名称传递到Java服务端,Java服务端利用JDBC技术从数据库里检索数据并返回,再组装成网页内容返回给浏览器,继而展现在用户面前。Java Web要学的东西很多,网络请求协议(HTTP等),Web前端技术,Java服务端技术,JDBC、数据库等都要学习。 Android要学的东西稍微少一点,Android一般是客户端软件,基本上不涉及到服务端,理论上来说可以不关注服务端技术(灰色框里的内容)和后台数据库,但我觉得要做一个合格的Android工程师,这些东西还是有必要去花时间了解的。同样的,Android工程师也需要学网络请求协议(HTTP等),毕竟也是要通过Web服务器去数据库里拿数据回来展示到APP上。目前混合开发(原生+HTML5)的APP越来越多了,因此还需要学习一些前端知识。 注意,Android方向图里的Web服务器可以用Java来写,也可以用其它语言来写,比如C

图解Mybatis从创建到获取Mapper源码分析

喜欢而已 提交于 2020-10-02 14:56:50
今天我们主要分析一下mybatis从SqlSessionFactoryBuilder构建SqlSessionFactory,再通过SqlSessionFactory获取SqlSession,进而获取Mapper对象的过程。即下面四行代码 InputStream is = Resources . getResourceAsStream ( "mybatis-config.xml" ) ; SqlSessionFactory factory = new SqlSessionFactoryBuilder ( ) . build ( is ) ; SqlSession sqlSession = factory . openSession ( ) ; UserMapper mapper = sqlSession . getMapper ( UserMapper . class ) ; 一、获取XML配置文件的输入流 InputStream is = Resources . getResourceAsStream ( "mybatis-config.xml" ) ; 首先我们调用的是Resources中的单个String参数的getResuorceAsStream方法,这个方法内部调用的是另一个带有类加载器参数的方法。

java程序猿进阶提升,薪资翻倍就靠TA了

回眸只為那壹抹淺笑 提交于 2020-10-02 12:35:24
Java程序员想要进阶成功,就应该重视这几点 : 吃透基础技术 养成良好的阅读源码的习惯 有长期的技术学习规划 下面,我们来一起逐条看看,特别是第 3 个方法 。 想要做到年薪50万,首先你自己必须是高水平的程序员 能年薪50万的程序员至少自身有以下特征 : 工作年限长,经验丰富 他们的共同特点是 :10 年以上的工作经验,在大公司当过螺丝钉,也在创业公司做过技术 leader,有过一两段不算成功的创业经历。 这样的程序员无论是去 BAT 还是去创业公司,都能拿到 50 万年薪以上的 offer。 虽然前面说技术水平不是决定薪水的唯一因素,但如果技术牛到一定程度,高薪 offer 也是探囊取物! 另外,光你自己厉害,技术牛也不行 程序员,在中国又被戏称为“程序猿”、“码农”,是一群有鲜明标签特色的人物。 很多文章在描述程序员的时候,常常会给其画一幅肖像:一副黑框眼镜,身上格子衬衫,背后 一个黑色双肩包,耳边戴着一副耳机 。 这就是典型的IT男,或者程序员在大众心目中的形象 。 为何同样是程序员有些猿的工资那么高,他们的技术栈是什么样的呢、或者说他们又拥有什么样几技术能力和学习规 划? 一、 Spring、MyBits源码 IOC容器设计原理及高级特性 AOP设计原理 FactoryBean与BeanFactory Spring事务处理机制 基于SpringJDBC手写ORM框架

最新美团java开发3轮技术面+hr面 点评(总结分析)

大城市里の小女人 提交于 2020-10-02 12:09:34
面经 首先是Java虚拟机垃圾回收 Synchronized与EntrantLock的区别。 数据库事务隔离 LRU最近事物 快排 大根堆 大部分都能答上,但是回答的不够深入 题目 Java虚拟机垃圾回收 Synchronized与ReentrantLock的区别 数据库事务隔离 LRU最近事物 快排 大根堆 总结 Java虚拟机垃圾回收 Synchronized与ReentrantLock的区别 数据库事务隔离 LRU最近事物 快排 大根堆 技术一面: 一面基本上面的还算基础 没有过多的刁难 不过问题量特别大 1、自我介绍 巴拉巴拉,大致说了下实习和自己平时自己喜欢做的事情 2、我们先聊聊java基础知识吧,说出Object类的常用方法? toString(),clone(),线程的三个方法:wait()notify()notifyAll(),hashcode(),finallize(),equals() 大致讲了上面这些个方法 并说了下各个方法的作用。 3、刚刚说到object的常用方法,这些方法你应该都很熟悉吧,那你说说你对equal和hashcode这两个方法的认识? 主要谈了下两个的作用 以及 当重写equal方法时候一定要记得重写hashcode方法,然后面试官就问了为什么,然后就继续巴拉巴拉。。。 然后面试官紧接着问

springcloud开发的电子商务小程序平台

ε祈祈猫儿з 提交于 2020-10-02 11:55:59
核心架构:Spring Cloud、Spring Boot、Mybatis、Redis、Rabbit MQ、微服务、分布式、电子商务 核心思想:产品微服务、模块化、原子化、持续集成、分布式、集群部署 开发模式:代码生成工具、驱动式开发模式、提高开发效率 微信扫码可以体验~ 来源: oschina 链接: https://my.oschina.net/u/3613013/blog/4298239

超罕见!Alibaba内部流行的“Java突击宝典”,金九银十程序员升职加薪必备!

折月煮酒 提交于 2020-10-02 11:17:21
前言 Alibaba作为一线互联网公司的代表,是大部分程序员梦寐以求的工作场所,确实大厂出来的程序员,其背景也更值钱,含金量也会更高。实际上,Alibaba程序员早已成为行业内学习的榜样和标杆,但实际上光鲜的背后付出的血汗是我们没看到的。那么阿里程序员平常都是怎么学习的呢? 今天就讲讲让我们一众菜鸡惊艳到的“Java突击宝典”,这份宝典在Alibaba内部流行已久,适合各个年限的程序员来学习,它主要将需要学习的技术栈分为了三个阶段: 0-1年开发经验(夯实基础):Java基础+并发编程+JVM基础+设计模式+SQL基础与优化+HTTP/TCP协议+算法与数据结构+学习能力+ 源码+Redis+了解一个消息产品 1-3年开发经验(合格的程序员):JVM基础调优+常见框架源码+MySQL优化+缓存+熟悉消息中间件(至少一个)+熟悉微服务(至少一个)+互联网项目经验+ Netty+分布式技术 4-5年开发经验(提升技术广度与深度):性能调优+分布式技术+微服务+技术选型+分布式场景问题+互联网项目经验+ 项目管理+团队管理 这三个阶段具体的内容如何?见下文揭晓吧。当然,文章有限,不能全部描述出来,有完整的pdf版可免费分享,添加下方小助手VX即可获取 0-1年:夯实基础 1.Java基础(Java异常分类及处理+Java反射+Java注解+Java内部类+Java泛型+Java序列化

应聘Java程序员职位需要什么技能?

生来就可爱ヽ(ⅴ<●) 提交于 2020-10-02 08:47:25
  目前java语言已经是名副其实的第一编程语言,就业的岗位就目前的绝对数量来讲也应该是最多的。当然经过这些年的发展,入门的门槛也提升了许多,目前java就业大环境是初级刚毕业的学生数量非常巨大,高级java软件工程师在行业内却仍是奇缺的。   所以很多人觉得软件行业饱和了,这是因为只看到了初级层面的竞争非常激烈,没有看到高级的严重缺失。小编就先给大讲讲要找到Java的工作应该具备哪些技能吧~   1.java编程基础   既然是要找一份编程语言的工作,编程基础就必须是要拿下的。无论是干什么,基础都是非常重要的!   java基础需要掌握常见的基本数据类型,标识符和关键字,运算符和表达式,数组和流程控制语句,对象和类,以及常见的一些类,String,Date,Stream,Number,Math,StringBuffer,Scanner等等,以及Java里面的异常处理,正则表达式,这些都属于基础必须要掌握的。   2.MySQL,多线程,集合等   高级编程主要在多线程,反射机制,面向对象的深层次理解,java集合框架,泛型编程,网络编程,文档注释,java序列化,java mysql连接等这些都是为了后续接触框架做准备,做java框架必须要掌握的。   3.开源框架   java的框架有很多,开始学习阶段不要期望能掌握的很多,但起码要掌握一种,然后在工作中慢慢展开

居然有人仅凭这份《Java面试宝典》就成功拿到了阿里、京东、字节跳动等大厂offer

十年热恋 提交于 2020-09-30 17:47:37
小编整理出了一份Java程序员进阶架构师的核心技术,同时也是一份大厂面试神技(包含了各大厂面试必问的N+知识点)以及项目实战,这份宝典共分为九大模块:JavaSE基础、JavaSE高级、JavaWEB 基础、JavaWEB高级、 数据库、框架、最新技术、企业实战面试题、项目业务逻辑问题 该宝典是一份知识点全面又能不断更新,与时俱进的学习手册。该宝典的一个明确目标是能够让90%以上的Java技术面试题都落到该宝典中。让天下没有难学的知识,希望你我的努力能帮到更多的莘莘学子。 世间事,很多都可投机取巧,但技术却必须靠日积月累的努力来提高。本宝典更加注重的是知识的掌握,而不仅仅是对面试题的应付。在展示常见的面试问题以及回答技巧的同时还详细讲解了每一道题所包含的知识点,让读者不仅知其然,更知其所以然。 由于宝典(PDF)里的细节内容实在过多所以只编辑了部分模块的章节简单的介绍下,每个章节的节点里面都有更精细的内容! 第一章 JavaSE基础 Java面向对象 JavaSE语法 Java中的多态 Java的异常处理 JavaSE常用API Java的数据类型 Java的IO Java的集合 Java的多线程和并发库 Java内部类 第二章 JavaSE高级 Java中的反射 Java中的动态代理 Java中的设计模式&回收机制 Java的类加载器 JVM基础知识 GC基础知识