Linux tomcat util.jar部署工程后发出警告:java.util.prefs.BackingStoreException: Couldn't get file lock.

扫一扫体验手机阅读
linux下部署tomcat指定JDK版本编译并运行javaWEB应用
<span type="1" blog_id="1841639" userid='
50篇文章,12W+人气,0粉丝
大数据时代的微服务之路
¥51.00429人订阅
<span type="1" blog_id="1841639" userid='想问一下这个怎么解决啊,java开发问题_java吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:716,887贴子:
想问一下这个怎么解决啊,java开发问题收藏
Could not lock User prefs. Unix error code 24.Couldn*t flush user prefs: java.util.prefs.BackingStoreException: Couldn*t get file lock.
软件培训公司,博为峰软件培训免费试听,0元入学,签署就业保障协议,不就业不收费!博为峰,真正的为年轻人服务的企业,14年间培训15万余名软件工程师,成绩斐然!
我用 jxl写的excel表格,用于下载,在本地测试w7系统,下载没有问题。部署到was上,以前一直都没有问题的,最近部署了之后发现,超过300条,就不能下载了,而且was也挂掉了。有时候还报打开文件过多,网上查了下,说把jvm扩大,扩大到了8196,excel的流也关闭了,但是日志还是报了以下错误,Could not lock User prefs. Unix error code 24.Couldn*t flush user prefs: java.util.prefs.BackingStoreException: Couldn*t get file lock.
登录百度帐号&p&有人说,Spring Boot的出现,让Java迎来了又一春,它是Java应用开发的颠覆者,彻底改变了Java应用开发的模式。&/p&&p&以往我们做Spring应用开发,要知道配置哪些类来让Hibernate和Spring一起工作,要知道如何配置view resolver来控制哪个模版进行视图层的展示。经常写了一大堆代码之后发现只是在处理Spring框架本身的配置,根本一行业务逻辑都没有写。&/p&&p&&br&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-fd71aeeef93fa632a51778d9_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&462& data-rawheight=&456& class=&origin_image zh-lightbox-thumb& width=&462& data-original=&https://pic2.zhimg.com/v2-fd71aeeef93fa632a51778d9_r.jpg&&&/figure&&p&&br&&/p&&p&开发完成之后,我们还要考虑部署的问题,且不说部署到非常笨重的应用服务器,比如WebSphere, Weblogic或者JBoss,即使部署到Tomcat或者Jetty这种轻量级容器上面,我们要知道如何配置容器,如何修改配置文件等等。而且在多应用部署到同一个Tomcat的时候,经常会出现冲突。就算我们花了很大力气解决了这些问题,程序部署成功之后,我们很难去了解这个程序的运行状态。有可能我们要配置很多第三方工具来去知道这个应用程序运行状态如何,有哪些参数,环境变量是什么。尽管Spring帮我们解决了依赖注入的问题,简化了一些MVC的流程,但是Spring框架本身集成了越来越多东西,导致其越来越难配置,维护成本成直线上升。&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-261cb3f539d50cc74b1695e_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&329& data-rawheight=&296& class=&content_image& width=&329&&&/figure&&p&&br&&/p&&p&很多时候,Python, Ruby或者JavaScript程序员敲几个命令安装一些库,然后简单的敲几行代码,引入一些框架比如flask,然后直接一个简单的API就可以跑起来了。Java程序员可能还在研究该使用Maven里面的哪个库,如何在代码里面进行配置。&/p&&p&&b&但是现在 Spring Boot的出现让这一情况有了很大的改观。&/b&&/p&&p&它使用“习惯优于配置”(项目中存在大量的配置,此外还内置一个习惯性的配置,让你无须手动进行配置)的理念让你的项目快速运行起来。使用Spring Boot 很容易创建一个独立运行(运行jar,内嵌Servlet 容器)、准生产级别的基于Spring框架的项目,使用Spring Boot 你可以不用或者只需要很少的Spring 配置。&/p&&p&&b&【Spring Boot 核心功能】&/b&&/p&&ul&&li&&b&独立运行的Spring 项目&/b&&/li&&/ul&&p&Spring Boot 可以以jar 包的形式独立运行,运行一个Spring Boot 项目只需通过java –jarxx.jar 来运行。&/p&&ul&&li&&b&内嵌Servlet 容器&/b&&/li&&/ul&&p&Spring Boot 可选择内嵌Tomcat、Jetty 或者Undertow ,这样我们无须以war 包形式部署项目。&/p&&ul&&li&&b&提供starter 简化Maven 配置&/b&&/li&&/ul&&p&Spring 提供了一系列的starter pom 来简化Maven 的依赖加载,例如,当你使用了spring-boot-starter-web 时,会自动加入如下图所示的依赖包。&/p&&p&&br&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-38fdfccaff3f_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&538& data-rawheight=&299& class=&origin_image zh-lightbox-thumb& width=&538& data-original=&https://pic3.zhimg.com/v2-38fdfccaff3f_r.jpg&&&/figure&&p&&br&&/p&&ul&&li&&b&自动配置Spring&/b&&/li&&/ul&&p&Spring Boot 会根据在类路径中的jar 包、类,为jar 包里的类自动配置Bean,这样会极大地减少我们要使用的配置。当然,Spring Boot 只是考虑了大多数的开发场景,并不是所有的场景,若在实际开发中我们需要自动配置Bean,而Spring Boot 没有提供支持,则可以自定义自动配置。&/p&&ul&&li&&b&准生产的应用监控&/b&&/li&&/ul&&p&Spring Boot 提供基于http、ssh、telnet 对运行时的项目进行监控。&/p&&ul&&li&&b&无代码生成和xml 配置&/b&&/li&&/ul&&p&Spring Boot 的神奇的不是借助于代码生成来实现的,而是通过条件注解来实现的,这是Spring 4.x 提供的新特性。&/p&&p&Spring 4.x 提倡使用Java 配置和注解配置组合,而Spring Boot 不需要任何xml 配置即可实现Spring 的所有配置。&/p&&p&&br&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-c6696cead084cfdd2cae1b9b8817ab3f_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&240& data-rawheight=&240& data-thumbnail=&https://pic2.zhimg.com/v2-c6696cead084cfdd2cae1b9b8817ab3f_b.jpg& class=&content_image& width=&240&&&/figure&&p&&br&&/p&&p&SpringBoot 不仅让我们做Java开发变的简单有效,更重要的是SpringBoot彻底颠覆了我们对Java开发的认识,让我们第一次有了”原来Java开发可以这么做” 的感觉。&/p&&p&关于SpringBoot还有非常多值得深入讨论的东西,黑马程序员JavaEE就业班中,不但有对于SpringBoot的讲解,还增加了项目实战,让学员在就业中脱颖而出,全国十八个校区正在火热招中,可以点击 撩小编获取更多信息。&/p&&p&最后,小编整理了SpringBoot的教程,帮助大家进一步了解它。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-f0a38cfed38c27e641394fbc853273fb_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&420& data-rawheight=&624& class=&content_image& width=&420&&&/figure&&p&SpringBoot微服务架构应用-资源 &/p&&p&视频&a href=&https://link.zhihu.com/?target=http%3A//pan.baidu.com/s/1dFOieat& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&pan.baidu.com/s/1dFOiea&/span&&span class=&invisible&&t&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&br&&/p&&p&码字不易,请点个赞吧!&/p&
有人说,Spring Boot的出现,让Java迎来了又一春,它是Java应用开发的颠覆者,彻底改变了Java应用开发的模式。以往我们做Spring应用开发,要知道配置哪些类来让Hibernate和Spring一起工作,要知道如何配置view resolver来控制哪个模版进行视图层的展示。经…
&p&要说SSM新项目,还不如了解一下Spring Boot,它真的大大的简化了Spring开发,如果你学习过SSM、那Spring Boot是非常容易上手的,与其找新的SSM项目,还不如尝试一下Spring Boot。而且Spring Boot的优势正逐渐得到大家的认可,现在很热门的微服务技术,如Spring Cloud、Dubbo也会用到Spring Boot。&/p&&p&我现在就在学习使用Spring Boot构建的一个微信点餐系统的后端,前端使用Vue.js,构建了一个基于微信公众号的WebApp,后端使用的是Spring Boot+JPA,前后端通过RESTful风格的接口相连,因为前后端是完全分离的,我们只关注与后端技术,所以可是一个非常适合Java后端人员学习的项目,而且里面用到的基本都是现在比较新的技术。&/p&&p&&br&&/p&&p&下面是项目的简要介绍,有兴趣的朋友可以了解下,项目已大体上基本完成,我在工作之余还会不断地完善。&/p&&p&&b&项目简介地址:&a href=&//link.zhihu.com/?target=http%3A//www.sqmax.top/springboot-project/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&sqmax.top/springboot-pr&/span&&span class=&invisible&&oject/&/span&&span class=&ellipsis&&&/span&&/a&&/b&&/p&&p&&b&项目托管在Github仓库,&a href=&//link.zhihu.com/?target=https%3A//github.com/sqmax/springboot-project& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&github.com/sqmax/spring&/span&&span class=&invisible&&boot-project&/span&&span class=&ellipsis&&&/span&&/a&&/b&&/p&&p&&br&&/p&&blockquote&本仓库记录我在慕课网学习Spring Boot企业微信点餐系统实战课程的总结,该项目涉及到的业务逻辑相对简单,而且前后端完全分离(前端是由另外一位老师的Vue.js实战课程打造),本项目只涉及后端实现,但使用的都是当下比较热门的技术,比较适合个人学习。我会在该项目上不断改进,比如会使用MyBatis完全替换JPA,来实现DAO层,还会加入一些新的功能。另外,老师后续还有一门进阶课程-Spring Cloud实现微服务的实战课程,我也会去学习,到时为该项目增加新的特征。 &br&下面是师兄的慕课网实战课程:
&br&&a href=&//link.zhihu.com/?target=https%3A//coding.imooc.com/class/187.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&SpringCloud微服务实战-慕课网实战&/a& &br&&a href=&//link.zhihu.com/?target=https%3A//coding.imooc.com/learn/list/117.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&实战课程_开发项目实战_编程项目实战-慕课网&/a&&/blockquote&&hr&
要说SSM新项目,还不如了解一下Spring Boot,它真的大大的简化了Spring开发,如果你学习过SSM、那Spring Boot是非常容易上手的,与其找新的SSM项目,还不如尝试一下Spring Boot。而且Spring Boot的优势正逐渐得到大家的认可,现在很热门的微服务技术,如Spr…
&p&像IDE 一样?好吧,&/p&&p&三种办法:&/p&&p&1,用Chrome插件Octotree,左侧会出现树形结构,方便你浏览源代码。&/p&&figure&&img src=&https://pic2.zhimg.com/50/v2-4efc2efaaaf8858ffd7b_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1306& data-rawheight=&707& class=&origin_image zh-lightbox-thumb& width=&1306& data-original=&https://pic2.zhimg.com/50/v2-4efc2efaaaf8858ffd7b_r.jpg&&&/figure&&a href=&//link.zhihu.com/?target=https%3A//chrome.google.com/webstore/detail/octotree/bkhaagjahfmjljalopjnoealnfndnagc& data-draft-node=&block& data-draft-type=&link-card& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&chrome.google.com/webst&/span&&span class=&invisible&&ore/detail/octotree/bkhaagjahfmjljalopjnoealnfndnagc&/span&&span class=&ellipsis&&&/span&&/a&&p&2,用Github Desktop桌面应用。方便把代码clone到本地,然后进行各种git操作。&/p&&figure&&img src=&https://pic2.zhimg.com/50/v2-f5ebddad28b57b6_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1920& data-rawheight=&1320& class=&origin_image zh-lightbox-thumb& width=&1920& data-original=&https://pic2.zhimg.com/50/v2-f5ebddad28b57b6_r.jpg&&&/figure&&a href=&//link.zhihu.com/?target=https%3A//desktop.github.com/& data-draft-node=&block& data-draft-type=&link-card& data-image=&https://pic3.zhimg.com/v2-f1e06a1ec075eeda12cce2c30x120.jpg& data-image-width=&1920& data-image-height=&1320& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Simple collaboration from your desktop&/a&&p&3,如果你开发前端(Angular,React,ES6,Typescipt),&b&那么最推荐这种方式&/b&!直接把Chrome变成一个在线IDE。帮你把npm包都准备好,直接可以运行。&/p&&p&&br&&/p&&p&只要把github地址改成&a href=&//link.zhihu.com/?target=https%3A//stackblitz.com/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&stackblitz.com/&/span&&span class=&invisible&&&/span&&/a&github开头就可以了。&/p&&p&例如下面视频中,Github项目地址是&/p&&div class=&highlight&&&pre&&code class=&language-html&&https://github.com/gothinkster/angular-realworld-example-app
&/code&&/pre&&/div&&p&改成&/p&&div class=&highlight&&&pre&&code class=&language-text&&https://stackblitz.com/github/gothinkster/angular-realworld-example-app
&/code&&/pre&&/div&&a class=&video-box& href=&//link.zhihu.com/?target=https%3A//www.zhihu.com/video/479104& target=&_blank& data-video-id=&& data-video-playable=&true& data-name=&& data-poster=&https://pic1.zhimg.com/80/v2-be7bca92ccc_b.jpg& data-lens-id=&479104&&
&img class=&thumbnail& src=&https://pic1.zhimg.com/80/v2-be7bca92ccc_b.jpg&&&span class=&content&&
&span class=&title&&&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://www.zhihu.com/video/479104&/span&
&/a&&p&&br&&/p&&a href=&//link.zhihu.com/?target=https%3A//stackblitz.com/& data-draft-node=&block& data-draft-type=&link-card& data-image=&https://pic4.zhimg.com/v2-e8f746f9d7_180x120.jpg& data-image-width=&150& data-image-height=&106& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Online VS Code IDE for Modern Web Applications&/a&&p&这个回答内容在我的知乎文章里:&/p&&a href=&https://zhuanlan.zhihu.com/p/& data-draft-node=&block& data-draft-type=&link-card& data-image=&https://pic3.zhimg.com/v2-a406d532b5_r.jpg& class=&internal&&陈龙:高效阅读Github源代码&/a&&p&----------------------&/p&&p&一个月3.6k赞,希望对你们学习Github上的项目有用!&/p&&p&但是收藏数比关注和赞数多,这是知乎的风格吗...&/p&
像IDE 一样?好吧,三种办法:1,用Chrome插件Octotree,左侧会出现树形结构,方便你浏览源代码。2,用Github Desktop桌面应用。方便把代码clone到本地,然后进行各种git操作。3,如果你开发前…
&p&作者:平行世界&/p&&p&链接:&a href=&https://link.zhihu.com/?target=https%3A//www.nowcoder.com/discuss/69429%3Ftype%3D2%26order%3D4%26pos%3D2%26page%3D1& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&阿里2019实习内推,五轮技术面+一轮HR面,Java岗面经_笔经面经_牛客网&/a&&/p&&p&来源:牛客网&/p&&p&&br&&/p&&p&在牛客网上获取到很多知识和信息,现在反馈一波,希望能对广大找实习的同学有所帮助。&/p&&p&个人情况:EE方向渣硕,二月末内推了&b&阿里集团某部门Java岗&/b&,约三周完成了所有面试。&/p&&p&&br&&/p&&p&面经如下:&/p&&p&&br&&/p&&h2&一面 (简历评估): &/h2&&p&&br&&/p&&p&1、自我介绍&/p&&p&2、TCP与UDP的区别 &/p&&p&3、TCP三次握手说一下(把流程说一遍,这里以为会继续问为什么不是两次或者四次,结果没有) &/p&&p&4、看你项目用到线程池,说一下线程池工作原理,任务拒接策略有哪几种&/p&&p&5、进程和线程的区别&/p&&p&6、ArrayList与LinkedList的区别 &/p&&p&7、线程安全与非线程安全集合说一下,底层怎么实现的(hashmap,concurrenthashmap)&/p&&p&8、Java内存模型,方法区存什么 &/p&&p&9、数据库事务隔离级别说一下 &/p&&p&10、synchronized和lock区别,可重入锁与非可重入锁的区别 &/p&&p&11、看你的项目用了悲观锁和乐观锁,说一下区别&/p&&p&12、算法题:圆圈中最后剩下的数字 &/p&&p&&br&&/p&&h2&二面 (部门主管):&/h2&&p&&br&&/p&&p&1、说一下Spring的IOC和AOP,底层什么原理 &/p&&p&2、动态代理有几种,Jdk与Cglib区别&/p&&p&3、数据库三大范式&/p&&p&4、左连接和右连接说一下,内连接呢&/p&&p&5、数据库索引有几种&/p&&p&6、数据库引擎你认识几种,innodb 和myisam 区别,你的项目用到哪个引擎&/p&&p&7、若hashcode方法永远返回1会产生什么结果&/p&&p&8、Error与RuntimeException的区别&/p&&p&9、引用计数法与GC Root可达性分析法区别&/p&&p&10、双亲委派机制说一下 &/p&&p&11、算法题:找出一个数组中第100个小的数字(堆思想解决)&/p&&p&&br&&/p&&h2&三面&四面 &/h2&&p&(这里合在一起写了,分别是部门A总监与B总监,本以为三面完了就是HR面,结果隔天B总监打过来说补一轮技术面~~三面和四面更多的是问项目,基础问得不多):&/p&&p&&br&&/p&&p&1、volatile关键字作用&/p&&p&2、看你项目用到策略模式和工厂模式,说一下区别&/p&&p&3、模板方法模式&/p&&p&4、开闭原则懂吗,说一下&/p&&p&5、NIO说一下你的理解&/p&&p&6、AtomicInteger底层原理 &/p&&p&7、CAS机制会出现什么问题&/p&&p&8、还用过并发包哪些类&/p&&p&9、你实习的本地缓存过期策略怎么设置,一致性怎么保证&/p&&p&10、分布式理论懂多少,说一下(这里我说了CAP,Base,paxos)&/p&&p&11、分布式事务有了解吗&/p&&p&12、RabbitMQ消息队列丢失消息,重复消费问题 &/p&&p&&br&&/p&&h2&五面&/h2&&p&(交叉面,蚂蚁金服的面试官,别问我怎么知道的,说来话长~~简短的20分钟,没问多少就挂电话了,貌似凉凉~~)&/p&&p&&br&&/p&&p&1、学习成绩&/p&&p&2、有参加过算法比赛吗 &/p&&p&3,Redis和memcached&/p&&p&4、Redis集群宕机,数据迁移问题&/p&&p&5、看你项目用到Spring boot,那有用过Spring cloud吗 &/p&&p&6、RPC说一下&/p&&p&7、说一下你对微服务的理解,与SOA的区别&/p&&p&&br&&/p&&h2&六面(HR面)&/h2&&p&&br&&/p&&p&1、平常怎么学习的&/p&&p&2、兴趣爱好 &/p&&p&3、觉得自己前面几轮面试怎么样&/p&&p&4、除了Java还研究过其它什么技术(我说AI,区块链)&/p&&p&5、跟我介绍一下区块链~ &/p&&p&6、怎么看待国内区块链的发展 &/p&&p&7,跟我说一下你认为最具有挑战性的项目&/p&&p&8、问我还参加了什么公司的招聘&/p&&p&9、如果有网易游戏,腾讯,阿里的offer你会选择哪个&/p&&p&10、英语10分钟交流(瞬间懵了,这里估计是部门有英语交流要求) &/p&&p&&br&&/p&&p&面经如上,有一些问题确实想不起来了,请谅解。&/p&&p&&br&&/p&&p&总体来说面试难度没有我在其它大佬们的帖子看到的这么难,都是基础加项目,另外也可能是因为我的心态一直比较好,所以面试发挥还算OK吧~&/p&&p&HR说面试结果会在4月份中旬出来,估计是进备胎池了,慢慢等吧,继续复习,准备其他公司招聘。&/p&&p&&br&&/p&&p&有后续会继续更新~&/p&
作者:平行世界链接:来源:牛客网 在牛客网上获取到很多知识和信息,现在反馈一波,希望能对广大找实习的同学有所帮助。个人情况:EE方向渣硕,二月末内推了阿里集团某部门Java岗,约三…
&p&推荐以 Spring Boot 教程与 Spring Cloud 教程的详细开源项目 &b&“&a href=&//link.zhihu.com/?target=https%3A//gitee.com/didispace/SpringBoot-Learning& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&SpringBoot-Learning&/a&” &/b&此项目内容为 Spring Boot 教程程序样例,对于 Spring Boot 的初学者来说非常有用,文末也列出了Spring 相关开源项目,供大家交流学习。&/p&&p&&br&&/p&&p&&b&1.
SpringBoot-Learning 部分样例:&/b&&/p&&p&&b&快速入门&/b&&/p&&ul&&li&chapter1:&a href=&//link.zhihu.com/?target=http%3A//blog.didispace.com/spring-boot-learning-1/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&基本项目构建(可作为工程脚手架),引入web模块,完成一个简单的RESTful API&/a&&/li&&li&&a href=&//link.zhihu.com/?target=http%3A//blog.didispace.com/spring-initializr-in-intellij/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&使用Intellij中的Spring Initializr来快速构建Spring Boot/Cloud工程&/a&&/li&&/ul&&p&&b&工程配置&/b&&/p&&ul&&li&chapter2-1-1:&a href=&//link.zhihu.com/?target=http%3A//blog.didispace.com/springbootproperties/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&配置文件详解:自定义属性、随机数、多环境配置等&/a&&/li&&/ul&&p&&b&Web开发&/b&&/p&&ul&&li&chapter3-1-1:&a href=&//link.zhihu.com/?target=http%3A//blog.didispace.com/springbootrestfulapi/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&构建一个较为复杂的RESTful API以及单元测试&/a&&/li&&li&chapter3-1-2:&a href=&//link.zhihu.com/?target=http%3A//blog.didispace.com/springbootweb/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&使用Thymeleaf模板引擎渲染web视图&/a&&/li&&li&chapter3-1-3:&a href=&//link.zhihu.com/?target=http%3A//blog.didispace.com/springbootweb/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&使用Freemarker模板引擎渲染web视图&/a&&/li&&li&chapter3-1-4:&a href=&//link.zhihu.com/?target=http%3A//blog.didispace.com/springbootweb/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&使用Velocity模板引擎渲染web视图&/a&&/li&&li&chapter3-1-5:&a href=&//link.zhihu.com/?target=http%3A//blog.didispace.com/springbootswagger2/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&使用Swagger2构建RESTful API&/a&&/li&&li&chapter3-1-6:&a href=&//link.zhihu.com/?target=http%3A//blog.didispace.com/springbootexception/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&统一异常处理&/a&&/li&&/ul&&p&&b&数据访问、日志管理等等,项目地址:&/b&&a href=&//link.zhihu.com/?target=https%3A//gitee.com/didispace/SpringBoot-Learning& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&程序猿DD/SpringBoot-Learning - 码云 Gitee.com&/a&&/p&&p&&br&&/p&&p&&b&2. 项目名称:&/b&spring boot 实践学习案例 springboot-learning-example&/p&&p&&b&项目结构:&/b&&/p&&p&&b&a. 『 基础 - 入门篇 』&/b&&/p&&ul&&li&springboot-helloworld&br&&a href=&//link.zhihu.com/?target=http%3A//www.bysocket.com/%3Fp%3D1124& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&《Spring Boot 之 HelloWorld 详解》&/a& &/li&&li&springboot-properties
&a href=&//link.zhihu.com/?target=http%3A//www.bysocket.com/%3Fp%3D1786& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&《Spring Boot 之配置文件详解》&/a& &/li&&/ul&&p&&b&b. 『 基础 - Web 业务开发篇 』&/b&&/p&&ul&&li&springboot-restful
&a href=&//link.zhihu.com/?target=http%3A//www.bysocket.com/%3Fp%3D1627& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&《Springboot 实现 Restful 服务,基于 HTTP / JSON 传输》&/a& &a href=&//link.zhihu.com/?target=http%3A//www.bysocket.com/%3Fp%3D1080& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&《Spring Boot 之 RESRful API 权限控制》&/a& &/li&&li&springboot-freemarker
&a href=&//link.zhihu.com/?target=http%3A//www.bysocket.com/%3Fp%3D1666& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&《Spring Boot 集成 FreeMarker 详解案例》&/a& &/li&&li&springboot-validation-over-json &a href=&//link.zhihu.com/?target=http%3A//www.bysocket.com/%3Fp%3D1692& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&《Spring Boot HTTP over JSON 的错误码异常处理》&/a& &/li&&/ul&&p&&b&c. 『 基础 – 数据存储篇 』&/b&&/p&&ul&&li&springboot-mybatis
&a href=&//link.zhihu.com/?target=http%3A//www.bysocket.com/%3Fp%3D1610& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&《Springboot 整合 Mybatis 的完整 Web 案例》&/a& &/li&&li&springboot-mybatis-annotation
&a href=&//link.zhihu.com/?target=http%3A//www.bysocket.com/%3Fp%3D1811& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&《Spring Boot 整合 Mybatis Annotation 注解的完整 Web 案例》&/a& &/li&&li&springboot-mybatis-mutil-datasource
&a href=&//link.zhihu.com/?target=http%3A//www.bysocket.com/%3Fp%3D1712& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&《Spring Boot 整合 Mybatis 实现 Druid 多数据源详解》&/a& &/li&&/ul&&p&&b&d. 『 基础 – 数据缓存篇 』&/b&&/p&&ul&&li&springboot-mybatis-redis
&a href=&//link.zhihu.com/?target=http%3A//www.bysocket.com/%3Fp%3D1756& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&《Spring Boot 整合 Redis 实现缓存操作》&/a& &/li&&li&springboot-mybatis-redis-annotation
&a href=&//link.zhihu.com/?target=http%3A//www.bysocket.com/%3Fp%3D1756& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&《Spring Boot 注解实现整合 Redis 作为缓存》&/a& &/li&&/ul&&p&&b&e. 『 其他篇 』&/b&&/p&&ul&&li&springboot-elasticsearch
&a href=&//link.zhihu.com/?target=http%3A//www.bysocket.com/%3Fp%3D1829& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&《Spring Boot 整合 Elasticsearch,实现 function score query 权重分查询》&/a& &/li&&li&springboot-dubbo-server
&/li&&li&springboot-dubbo-client &br&Dubbo 服务提供者工程和 Dubbo 服务消费者工程
&a href=&//link.zhihu.com/?target=http%3A//www.bysocket.com/%3Fp%3D1681& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&《Springboot 整合 Dubbo/ZooKeeper 详解 SOA 案例》&/a& &a href=&//link.zhihu.com/?target=http%3A//www.bysocket.com/%3Fp%3D1782& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&《Spring Boot 中如何使用 Dubbo Activate 扩展点》&/a& &/li&&/ul&&p&&b&Spring Data ES 篇 &/b&&/p&&ul&&li&spring-data-elasticsearch-crud
&a href=&//link.zhihu.com/?target=http%3A//spring4all.com/article/70& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&《Spring Data Elasticsearch - 基本案例》&/a& &/li&&li&spring-data-elasticsearch-query &br&spring-data-elasticsearch - 实战案例详解&/li&&/ul&&p&&b&项目地址:&/b&&a href=&//link.zhihu.com/?target=https%3A//gitee.com/jeff1993/springboot-learning-example& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&泥沙砖瓦浆木匠/springboot-learning-example - 码云 Gitee.com&/a&&/p&&p&&br&&/p&&p&&b&Spring
相关项目推荐:&/b&&/p&&p&&b&1. 项目名称:&/b&基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构&/p&&figure&&img src=&https://pic1.zhimg.com/50/v2-d85fff6bedc0_b.jpg& data-caption=&& data-rawwidth=&1046& data-rawheight=&922& class=&origin_image zh-lightbox-thumb& width=&1046& data-original=&https://pic1.zhimg.com/50/v2-d85fff6bedc0_r.jpg&&&/figure&&p&&b&项目内容:&/b&基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构,提供整套公共微服务服务模块:集中权限管理(单点登录)、内容管理、支付中心、用户管理(支持第三方登录)、微信平台、存储系统、配置中心、日志分析、任务和通知等,支持服务治理、监控和追踪,努力为中小型企业打造全方位J2EE企业级开发解决方案。&/p&&p&&b&项目地址:&/b&&a href=&//link.zhihu.com/?target=https%3A//gitee.com/shuzheng/zheng& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&shuzheng/zheng - 码云 Gitee.com&/a&&/p&&p&&br&&/p&&p&&b&2. 项目名称:&/b&模块化开发系统 ybg-spring-fast&/p&&p&&b&项目简介:&/b&以SpringBoot 为中心,模块化开发系统,用户可以随意删减除权限框架外 任意的系统模块。复用,组装性强主要应用技术:spring Security+Ehcache+quartz+swagger2+Mysql5.6+springjdbc+druid+spring social+spring session + layerui+vue.js等。&/p&&figure&&img src=&https://pic4.zhimg.com/50/v2-a521b225cae57cf7cccd_b.jpg& data-caption=&& data-rawwidth=&1189& data-rawheight=&580& class=&origin_image zh-lightbox-thumb& width=&1189& data-original=&https://pic4.zhimg.com/50/v2-a521b225cae57cf7cccd_r.jpg&&&/figure&&p&&b&项目地址:&/b&&a href=&//link.zhihu.com/?target=https%3A//gitee.com/YYDeament/88ybg& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&YYDeament/ybg-spring-fast - 码云 Gitee.com&/a&&/p&&p&&br&&/p&&p&&b&3. 项目名称:&/b&JAVA分布式快速开发平台 iBase4J&/p&&figure&&img src=&https://pic2.zhimg.com/50/v2-6b9b0c00d30b9d1e8fef78a_b.jpg& data-caption=&& data-rawwidth=&1920& data-rawheight=&955& class=&origin_image zh-lightbox-thumb& width=&1920& data-original=&https://pic2.zhimg.com/50/v2-6b9b0c00d30b9d1e8fef78a_r.jpg&&&/figure&&p&&b&项目内容:&/b&JAVA分布式快速开发平台:SpringBoot,SpringMVC,Mybatis,mybatis-plus,motan/dubbo分布式,Redis缓存,Shiro权限管理,Spring-Session单点登录,Quartz分布式集群调度,Restful服务,QQ/微信登录,App token登录,微信/支付宝支付;日期转换、数据类型转换、序列化、汉字转拼音、身份证号码验证、数字转人民币、发送短信、发送邮件、加密解密、图片处理、excel导入导出、FTP/SFTP/fastDFS上传下载、二维码、XML读写、高精度计算、系统配置工具类等等。&/p&&p&&b&项目地址:&/b&&a href=&//link.zhihu.com/?target=https%3A//gitee.com/iBase4J/iBase4J& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&iBase4J/iBase4J - 码云 Gitee.com&/a&&/p&&p&&br&&/p&&p&&b&4. 项目名称:&/b&Java EE(J2EE)快速开发框架 ThinkGem&/p&&p&&b&项目内容:&/b&Java EE(J2EE)快速开发框架,基于经典技术组合(Spring MVC、Apache Shiro、MyBatis、Bootstrap UI),包括核心模块如:组织机构、角色用户、权限授权、数据权限、内容管理、工作流等。虽说很长时间没有大的更新了,但它的架构精良易于扩展深受大家喜爱,依然是中小企业的首选,它的功能设计、底层架构也非常具有参考意义、是学习入门的首选。关注我ThinkGem开源中国博客了解4.0最新动态。&/p&&p&&b&项目地址:&/b&&a href=&//link.zhihu.com/?target=https%3A//gitee.com/thinkgem/jeesite& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&ThinkGem/JeeSite - 码云 Gitee.com&/a&&/p&&p&&br&&/p&&p&&b&5. 项目名称:&/b&Java快速开发平台 MCMS&/p&&figure&&img src=&https://pic2.zhimg.com/50/v2-7d46794cd_b.jpg& data-caption=&& data-rawwidth=&1580& data-rawheight=&900& class=&origin_image zh-lightbox-thumb& width=&1580& data-original=&https://pic2.zhimg.com/50/v2-7d46794cd_r.jpg&&&/figure&&p&&b&项目内容:&/b&完整开源,Java快速开发平台。基于Spring、SpringMVC、Mybatis架构,MStore提供更多好用的插件与模板(文章、商城、微信、论坛、会员、评论、支付、积分、工作流、任务调度等,同时提供上百套免费模板任意选择),价值源自分享!铭飞系统不仅一套简单好用的开源系统、更是一整套优质的开源生态内容体系。&/p&&p&&b&项目地址:&/b&&a href=&//link.zhihu.com/?target=https%3A//gitee.com/mingSoft/MCMS& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&铭飞/MCMS - Gitee&/a&&/p&&p&&br&&/p&&p&&b&6. 项目名称:&/b&基于Spring Cloud微服务化开发平台 AG-Admin&/p&&figure&&img src=&https://pic4.zhimg.com/50/v2-c94ddb8ccb7bbc3a5e8f5_b.jpg& data-caption=&& data-rawwidth=&1240& data-rawheight=&711& class=&origin_image zh-lightbox-thumb& width=&1240& data-original=&https://pic4.zhimg.com/50/v2-c94ddb8ccb7bbc3a5e8f5_r.jpg&&&/figure&&p&&b&项目内容:&/b&AG-Admin是国内首个基于Spring Cloud微服务化开发平台,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关API管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。核心技术采用Eureka、Fegin、Ribbon、Zuul、Hystrix、JWT Token、Mybatis等主要框架和中间件,前端采用vue-element-admin组件。&/p&&p&&b&项目地址:&/b&&a href=&//link.zhihu.com/?target=https%3A//gitee.com/geek_qi/ace-security& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&老A/AG-Admin - 码云 Gitee.com&/a&&/p&&p&&br&&/p&&p&&b&7. 项目名称:&/b&轻量级的Spring Boot快速开发平台 renren-fast&/p&&p&&b&项目简介:&/b&renren-fast是一个轻量级的Spring Boot快速开发平台,其设计目标是开发迅速、学习简单、轻量级、易扩展;使用Spring Boot、Shiro、MyBatis、Redis、Bootstrap、Vue2.x等框架,包含:管理员列表、角色管理、菜单管理、定时任务、参数管理、代码生成器、日志管理、云存储、API模块(APP接口开发利器)、前后端分离等。&/p&&p&&b&项目地址:&/b&&a href=&//link.zhihu.com/?target=https%3A//gitee.com/babaio/renren-fast& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&人人开源/renren-fast - 码云 Gitee.com&/a&&/p&&p&&br&&/p&&blockquote&来&b&码云&/b& &a href=&//link.zhihu.com/?target=http%3A//Gitee.com& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&Gitee.com&/span&&span class=&invisible&&&/span&&/a&&br&发现更多优质&b&开源项目:&/b&&a href=&//link.zhihu.com/?target=https%3A//gitee.com/explore/recommend%3Fzhihu& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&最新推荐 - 码云 - 开源中国&/a&&br&让&b&团队&/b&流畅、高效开发:&a href=&//link.zhihu.com/?target=https%3A//gitee.com/enterprises%3Fzhihu& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&码云企业版 - 码云 - 开源中国&/a&&/blockquote&&figure&&img src=&https://pic2.zhimg.com/50/v2-aec564eb4b259bdaa924_b.jpg& data-caption=&& data-rawwidth=&652& data-rawheight=&116& class=&origin_image zh-lightbox-thumb& width=&652& data-original=&https://pic2.zhimg.com/50/v2-aec564eb4b259bdaa924_r.jpg&&&/figure&
推荐以 Spring Boot 教程与 Spring Cloud 教程的详细开源项目 “” 此项目内容为 Spring Boot 教程程序样例,对于 Spring Boot 的初学者来说非常有用,文末也列出了Spring 相关开源项目,供大家交流学习。 1. SpringBoot-Learning 部分…
&h2&作者:游走的狗&/h2&&h2&本文介绍Spring Data Jpa的基础使用,为什么要写这个文档,因为作者作为一个小白,在学习jpa框架在项目中做开发的时候遇到很多坑,这些坑在官方的jpa文档中都很少提到,甚至不提。励志做一个目前最全的jpa基础文档,基本常用的使用方法都讲解到了,所以这个文档诞生了。&/h2&&h2&现在比较流行的编程思想是约束大于配置。而现在jpa这个框架就是体现出了这个思想。&/h2&&h2&希望可以帮助到入jpa坑的同学们,请大家指教。&/h2&&p&&br&&/p&&h2&搭建项目环境&/h2&&p&&br&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-8a558f9e122acb1fef297c0926b84fae_b.jpg& data-caption=&& data-rawwidth=&873& data-rawheight=&690& class=&origin_image zh-lightbox-thumb& width=&873& data-original=&https://pic2.zhimg.com/v2-8a558f9e122acb1fef297c0926b84fae_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-d243f8ce30d_b.jpg& data-caption=&& data-rawwidth=&1046& data-rawheight=&495& class=&origin_image zh-lightbox-thumb& width=&1046& data-original=&https://pic2.zhimg.com/v2-d243f8ce30d_r.jpg&&&/figure&&p&&br&&/p&&p&这上面就是一个Spring基础项目的所有jar包,这些就够了。其中druid-spring--boot-starter和spring-boot-configuration-processor可以不用引入,但是在本文的最后还是有讲解。&/p&&p&&b&(!!!特别提醒jpa如果使用1.4的同学建议更换为1.5,1.4的接口有很严重的缺陷!!!)&/b&&/p&&h2&jpa配置文件&/h2&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&spring.datasource.url=jdbc:mysql://localhost:3306/jdjc
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.show-sql = true
spring.jpa.hibernate.ddl-auto=update
#spring.jpa.hibernate.naming.physical-strategy = org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
&/code&&/pre&&/div&&p&&br&&/p&&p&官方建议配置文件是用YAML,但是作者偏爱properties,所以文档格式使用的properties,使用时可以随意,Spring官方已经不建议使用Xml格式的配置文件了,但是使用了也不会报错。&/p&&ol&&li&spring.jpa.show-sql这个设置是在启动Spring容器后,每次只需sql时,是否显示执行的sql。&/li&&li&spring.jpa.hibernate.ddl-auto这个设置中有常用的三个属性,creat、update、create-drop。日常使用基本都是update。但是这三个注解比较坑,这里不做太多解释,各位自行测试。&/li&&li&如果你配置了druid,这里可以忽略spring.datasource.driver-class-name这个配置,因为druid可以自动根据url识别要使用driver&/li&&li&没有做Spring容器的配置的介绍,因为用Spring jpa的人肯定Spring容器的启动都会,所以不做介绍了&/li&&li&spring.jpa.hibernate.naming.physical-strategy配置让jpa在自动创建表的时候,不自动转换大小写,不建议打开&/li&&/ol&&h2&创建一个实体,使用jpa框架自动创建表&/h2&&p&&br&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-4c32e6028cfa12a27b715a1df747c498_b.jpg& data-caption=&& data-rawwidth=&561& data-rawheight=&130& class=&origin_image zh-lightbox-thumb& width=&561& data-original=&https://pic2.zhimg.com/v2-4c32e6028cfa12a27b715a1df747c498_r.jpg&&&/figure&&p&&br&&/p&&ol&&li&@Entity注解,在每个model上面必须添加,让jpa知道哪一个类是实体类。&/li&&li&如果你的表名需要自定义可以使用@Table(name = &xxxxx&) jpa默认会让所有的表名小写,驼峰的时候变成_,如 GirlTable.class会表名自动变成girl_table。(如果需要表名忽略大小写,让大小写变成自定义的,需要开启上面配置文件一个配置。)&/li&&li&@Id在主键上面添加这个注解。&/li&&li&@GeneratedValue注解是让每次创建一个对象并保存到数据库中自动生成主键。如果需要UUID的类型需要两个注解。@GenericGenerator(name = &system-uuid&, strategy = &uuid&) @GeneratedValue(generator = &system-uuid&),这个需要把主键类型变为String,目前还没有找到更简单写法。&/li&&li&jpa还自带了很多对字段校验的属性基本都在@Column中,因为太简单,不再作多的介绍。&/li&&/ol&&h2&创建简单的CRUD&/h2&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-0eaf72602e_b.jpg& data-caption=&& data-rawwidth=&633& data-rawheight=&165& class=&origin_image zh-lightbox-thumb& width=&633& data-original=&https://pic4.zhimg.com/v2-0eaf72602e_r.jpg&&&/figure&&p&&br&&/p&&ol&&li&创建一个接口,接口名字随意。然后继承JpaRepository&T, ID&,T为实体类,ID为实体类的主键类型。&/li&&li&这个接口不用谢实现类,框架自动帮我们完成了这一步。基础了CRUD操作,可以直接不用编写sql语句。我们遵守框架的规则就可以实现。比如findByAge,因为我的model里面有age这个属性,jpa会自动去查询所有符合条件的数据,然后返回一个集合(jpa对map的支持不是很友好,后面会提到)。所以我们只用遵守findByXXX就可以了。&/li&&li&如果findByAge中age属性加上了唯一的限制条件,返回值可以直接写一个model。&/li&&li&@Query注解中可以直接书写sql语句,支持hql。上面的sql语句也可以写成@Query(&select id, cupSize, age from Girl where id = :id&) List&Girl& findById2(@Param(value = &id&) Integer id);。&/li&&/ol&&h2&Jpa调用存储过程&/h2&&p&在实体类中:&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&@Entity
@Table(name = &m_user&)
@NamedStoredProcedureQuery(name=&testA&, procedureName = &test&, parameters = {@StoredProcedureParameter(mode = ParameterMode.IN, type = Integer.class),@StoredProcedureParameter(mode = ParameterMode.OUT, type = Integer.class)})
public class MUser
&/code&&/pre&&/div&&p&在接口中:&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&@Procedure(name = &testA&)
Integer testA(Integer i);
&/code&&/pre&&/div&&ol&&li&jpa调用存储过程有一个坑,jpa不支持没有参数的存储过程调用,但是可以用其他方式解决&/li&&/ol&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span& @Query(value = &call select_user&, nativeQuery = true)
List&MUser& test();
&/code&&/pre&&/div&&p&使用原生sql语句就可以解决。返回类型一条数据可以用model,多条数据可以用List。&/p&&p&2.调用带参数的存储过程使用@NamedStoredProcedureQuery,使用方法如上。&/p&&p&3.接口中的命名一定要注意。&/p&&h2&jpa中查询结果分装为List&Map&String, Object&&。&/h2&&ol&&li&jpa对map的封装不是很友好。所以作者百度了很久都没用找到什么好的方法,网上都是写的一个帮助类,类里面写了返回List再手动转换成map,其实这样是不好的,浪费时间。&/li&&li&@Query(&select new map(sid as sid, userName as userName, password as password) from MUser m where m.userName = ?1&)List&HashMap&String, Object&& findByMUserName2(String username);这样就可以直接返回map形式的集合了&/li&&li&注意:如果上面sql语句中不加别名的话,返回Map的key会变成有序数字,可以自行实验。&/li&&/ol&&h2&jpa表与表的关联&/h2&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = &logUserId&)
@JoinColumn(name=&log_user_id&)
private Set&LogUserLogin& logs = new HashSet&LogUserLogin&();
&/code&&/pre&&/div&&ol&&li&用@OneToMany做讲解,其他@OneToOne,@ManyToOne都差不多&/li&&li&@OneToMany顾名思义一对多的关联关系,cascade属性的意思简单来说就是,操作两张表中主表的时候可以对附表进行影响,如果主表中一个对象被删除了,附表中所有相关的数据都会被删除。fetch中可以设置是立刻加载还是懒加载,默认不设置为懒加载。mappedBy为关联字段名字。&/li&&li&@JoinColumu注解,如果你的关联表中有mappedBy字段就可以不用使用这个注解,这个注解也不会有关联表的作用,只是给另一张表加一个字段而已。&/li&&/ol&
作者:游走的狗本文介绍Spring Data Jpa的基础使用,为什么要写这个文档,因为作者作为一个小白,在学习jpa框架在项目中做开发的时候遇到很多坑,这些坑在官方的jpa文档中都很少提到,甚至不提。励志做一个目前最全的jpa基础文档,基本常用的使用方法都讲解…
&p&如果我说,从开头开始学,然后丢一堆链接,不知道会不会被打?然而我内心的OS是:打打不到啊达不到!&/p&&p&这个Spring Boot系列算是我看见的比较完整的,通俗易懂的一个系列了,推荐给你们吧!&/p&&a href=&https://zhuanlan.zhihu.com/p/?refer=dreawer& class=&internal&&Spring Boot系列(九):定时任务&/a&&a href=&https://zhuanlan.zhihu.com/p/?refer=dreawer& class=&internal&&Spring Boot系列(八):RabbitMQ详解&/a&&a href=&https://zhuanlan.zhihu.com/p/?refer=dreawer& class=&internal&&Spring Boot系列(七):springboot+mybatis多数据源最简解决方案&/a&&a href=&https://zhuanlan.zhihu.com/p/?refer=dreawer& class=&internal&&Spring Boot系列(六):如何优雅的使用mybatis&/a&&a href=&https://zhuanlan.zhihu.com/p/?refer=dreawer& class=&internal&&Spring Boot系列(五):spring data jpa的使用&/a&&a href=&https://zhuanlan.zhihu.com/p/?refer=dreawer& class=&internal&&Spring Boot系列(四):thymeleaf使用详解&/a&&a href=&https://zhuanlan.zhihu.com/p/?refer=dreawer& class=&internal&&Spring Boot系列(三):Spring Boot中Redis的使用&/a&&a href=&https://zhuanlan.zhihu.com/p/?refer=dreawer& class=&internal&&Spring Boot系列(二):web综合开发&/a&&a href=&https://zhuanlan.zhihu.com/p/?refer=dreawer& class=&internal&&Spring Boot系列(一):Spring Boot 入门篇&/a&&p&然后送上一个番外篇: &a href=&//link.zhihu.com/?target=http%3A//ityouknow.com/springboot//springboot%25E5%25AE%259E%25E6%-%25E6%E4%25BB%25AC%25E7%259A%%25AC%25AC%25E4%25B8%%25AC%25BE%25E5%25BC%%25BA%%25BD%25AF%25E4%25BB%25B6.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&springboot实战:我们的第一款开源软件&/a& &/p&&br&&p&也欢迎关注我的专栏:&a href=&https://zhuanlan.zhihu.com/dreawer& class=&internal&&极乐科技 - 知乎专栏&/a&&/p&&p&专栏里面很多讲Spring Boot使用技巧的文章&/p&
如果我说,从开头开始学,然后丢一堆链接,不知道会不会被打?然而我内心的OS是:打打不到啊达不到!这个Spring Boot系列算是我看见的比较完整的,通俗易懂的一个系列了,推荐给你们吧!
&h4&先看看这些程序员技能树,你掌握或了解哪些?OMG竟然有么多~~~震精!震精!!!&/h4&&figure&&img src=&https://pic1.zhimg.com/v2-553ea2ead3eb82e29e05c_b.png& data-rawwidth=&372& data-rawheight=&656& class=&content_image& width=&372&&&/figure&&figure&&img src=&https://pic2.zhimg.com/v2-94b5bbaa4f51_b.png& data-rawwidth=&370& data-rawheight=&815& class=&content_image& width=&370&&&/figure&&figure&&img src=&https://pic2.zhimg.com/v2-b6e8e017ea95_b.png& data-rawwidth=&370& data-rawheight=&706& class=&content_image& width=&370&&&/figure&&p&这是从450家企业的招聘信息中统计而来,相对来说还是比较真实的,虽然有些公司的招聘要求万年不变,但还是可以大致反应企业的招聘要求的。&/p&&p&尽管Struts2漏洞频出,但是由于政府、银行以及传统企业遗留项目大部分还是采用Struts2的,所以还是占有一定市场,但绝壁不会增长。新兴互联网公司,一般来说主要是Spring家族居多,spring、spring Mvc以及Spring Boot 出现的频率较多。&/p&&p&从图中可以看出,分布式服务框架应用也是大部分企业招聘的必要条件了,阿里系的Dubbo名列前茅。相应的分布式应用程序协调服Zookeeper也出现在其中。&/p&&p&时下很流行的RESTful架构,准确的来说它是一种标准。也是很多企业考察的对象。&/p&&p&以下是出现次数超过100的一些技能,大家可以做一个参考。&/p&&blockquote&&p&Spring 299 &br&MySQL 290 &br&JavaScript 216&br&Linux 165&br&J2EE 151&br&设计模式 148&br&Struts2 138&br&Hibernate 132&br&Mybatis 130&br&jQuery 128&br&HTML 127&br&TOMCAT 117&br&iBatis 103&br&CSS 103&br&redis 102&br&多线程 102&br&dubbo 47 (绝壁不是打酱油的)&/p&&/blockquote&&p&相信每个程序员、或者说每个工作者都应该有自己的职业规划,问一下自己对编程到底持有的是一种什么样的态度,是够用就好呢还是不断研究?&/p&&p&小编对问题中的答案进行了精选,姿势准备好大图如下:&/p&&p&&b&社区昵称 似水的流年 的精彩回答:&/b&&/p&&p&java,php。这些排第一的除了还没用分布式的框架,其他的都在用,还是linux大法好&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-75bd236c4cc_b.jpg& data-rawwidth=&1024& data-rawheight=&644& class=&origin_image zh-lightbox-thumb& width=&1024& data-original=&https://pic4.zhimg.com/v2-75bd236c4cc_r.jpg&&&/figure&&br&&p&&figure&&img src=&https://pic1.zhimg.com/v2-5969dbd3f6f8bf524d06da2aa98b5970_b.png& data-rawwidth=&2220& data-rawheight=&10114& class=&origin_image zh-lightbox-thumb& width=&2220& data-original=&https://pic1.zhimg.com/v2-5969dbd3f6f8bf524d06da2aa98b5970_r.jpg&&&/figure&&b&社区昵称 &/b&&b&阿狸小狐&/b&&b& 的精彩回答:&/b&&br&&/p&&p&JAVA核心技术总结&br&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-554ecb1fd82f51a751f2_b.jpg& data-rawwidth=&1724& data-rawheight=&2328& class=&origin_image zh-lightbox-thumb& width=&1724& data-original=&https://pic3.zhimg.com/v2-554ecb1fd82f51a751f2_r.jpg&&&/figure&&p&J2EE技术总结&br&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-0eabd97086bdcd76a57edccc4f7157e0_b.jpg& data-rawwidth=&1337& data-rawheight=&1603& class=&origin_image zh-lightbox-thumb& width=&1337& data-original=&https://pic1.zhimg.com/v2-0eabd97086bdcd76a57edccc4f7157e0_r.jpg&&&/figure&&p&工作和学习总结&br&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-24df831f42bd20e721e50b5baa1b3361_b.jpg& data-rawwidth=&905& data-rawheight=&842& class=&origin_image zh-lightbox-thumb& width=&905& data-original=&https://pic2.zhimg.com/v2-24df831f42bd20e721e50b5baa1b3361_r.jpg&&&/figure&&p&大数据相关技术总结&br&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-e800f8b1d226bcf71e3a6910204fdb19_b.jpg& data-rawwidth=&1057& data-rawheight=&729& class=&origin_image zh-lightbox-thumb& width=&1057& data-original=&https://pic2.zhimg.com/v2-e800f8b1d226bcf71e3a6910204fdb19_r.jpg&&&/figure&&p&&b&社区昵称 &/b&&b&happycc&/b&&b& 的精彩回答:&/b&&br&&/p&&p&正在使用的&/p&&p&Spring框架&br&Spring框架是一个分层架构,有7个定义良好的模块组成&br&spring模块构建在核心容器智之上, 核心容器定义了创建、 配置、和管理bean的方式&br&组成spring框架的每个模块(或组件)都可以单独存在, 或者与其他一个或多个模块联合实现&/p&&p&模块如下:&/p&&p&复制代码&br&1--核心容器&br&核心容器提供spring框架的基本功能,核心容器的主要组件是BeanFactory, 他是工厂模式的实现. &br&BeanFactory使用控制反转(IOC)模式将应用程序的配置和依赖性与实际的应用程序代码分开&/p&&p&2--Spring上下文&br&是一个配置文件,该配置文件向spring框架提供上下文信息&/p&&p&3--Spring AOP&br&通过配置管理特性,Spring AOP 模块直接将面向切面(方面)编程功能集成到spring框架中&/p&&p&4--spring DAO&br&JDBC DAO抽象层提供了有意义的已成层次结构, 可用该结构管理异常处理和不同数据库抛出的错误信息,极大的降低了异常代码数量&/p&&p&5--Spring ORM&br&spring框架插入了若干个ORM框架, 从而提供了ORM的对象工具,其中包括了Hibernate, Mybatis&/p&&p&6--Spring Web&br&web上下文模块建立在应用程序上下文模块之上,为基于web的应用程序提供上下文&/p&&p&7--Spring MVC&br&该框架是一个全功能的构建web应用程序的MVC实现. 通过策略接口,MVC框架变成高度可配置的. MVC容纳了大量视图技术. 其中包括JSP、Velocity和POI&br&复制代码&br&Spring 框架的好处&/p&&p&spring是最大的工厂&br&spring负责业务逻辑组件的框架和生成, 并管理业务逻辑组件的生命周期&br&spring可以生产所有实例, 从控制器、 业务逻辑组件、 持久层组件&br&Spring特点&/p&&p&复制代码&br&1--降低了组件之间的耦合性, 实现了软件各个层之间的解耦&br&2--可以使用spring容器提供的服务, 如: 事务管理, 消息服务&br&3--容器提供单例模式支持&br&4--容器提供AOP技术, 利用它很容易实现权限拦截, 运行期监控&br&5--容器提供了众多的辅助类, 能加快应用的开发(org.springframework.jdbc.core.JDBCTemplate 等)&br&6--spring对主流的应用框架提供了集成支持, 例如: hibernate,JPA, Struts, Mybatis(IBatis)&br&7--Spring属于低侵入式设计, 代码污染度极低&br&8--独立于各种应用服务器&br&9--spring的DI机制降低了业务对象替换的复杂性&br&10--spring的高度开发性, 并不强制应用完全依赖于spring, 开发者可以自由选择spring的部分或者全部&/p&&br&&p&&b&社区昵称 小崽崽 的精彩回答:&/b&(小崽崽同学,你确定不是来拉仇恨的嘛?这是有关java的问答啊....这篇评论火了,可以点击链接查看:&a href=&http://link.zhihu.com/?target=https%3A//yq.aliyun.com/roundtable/50380& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&作为一名合格的JAVA程序员需要点亮那些技能树?-聚能聊-云栖社区-阿里云&/a&)&br&&/p&&p&PHP才是世界上最好的语言,看我大PHP技能树&br&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-8a8f2ef56f6b687b0cb1b2ae_b.jpg& data-rawwidth=&813& data-rawheight=&895& class=&origin_image zh-lightbox-thumb& width=&813& data-original=&https://pic3.zhimg.com/v2-8a8f2ef56f6b687b0cb1b2ae_r.jpg&&&/figure&&br&&figure&&img src=&https://pic2.zhimg.com/v2-80cbe3f4e77f2aa0d4ff1511aaf3b179_b.png& data-rawwidth=&1396& data-rawheight=&3268& class=&origin_image zh-lightbox-thumb& width=&1396& data-original=&https://pic2.zhimg.com/v2-80cbe3f4e77f2aa0d4ff1511aaf3b179_r.jpg&&&/figure&&br&&h4&各位攻城狮们在评论中聊聊你们的看法&/h4&&h4&你所掌握的语言是什么?又是如何点亮自己的技能树的?&/h4&&h4&或是准备点亮哪些技能树?精彩评论可以获得云栖大会套装(2016款云栖大会纪念版T恤衫、纪念版金色徽章、纪念版帽子)&/h4&
先看看这些程序员技能树,你掌握或了解哪些?OMG竟然有么多~~~震精!震精!!!这是从450家企业的招聘信息中统计而来,相对来说还是比较真实的,虽然有些公司的招聘要求万年不变,但还是可以大致反应企业的招聘要求的。尽管Struts2漏洞频出,但是由于政…
1、Gecco&br&github地址:&a href=&//link.zhihu.com/?target=https%3A//github.com/xtuhcy/gecco& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&xtuhcy/gecco&/a&&br&&blockquote&Gecco是一款用java语言开发的轻量化的易用的网络爬虫。整合了jsoup、httpclient、fastjson、spring、htmlunit、redission等框架,只需要配置一些jquery风格的选择器就能很快的写出一个爬虫。Gecco框架有优秀的可扩展性,框架基于开闭原则进行设计,对修改关闭、对扩展开放。&br&&/blockquote&&br&2、WebCollector&br&github地址:&a href=&//link.zhihu.com/?target=https%3A//github.com/CrawlScript/WebCollector& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&CrawlScript/WebCollector&/a&&br&&blockquote&WebCollector是一个无须配置、便于二次开发的JAVA爬虫框架(内核),它提供精简的的API,只需少量代码即可实现一个功能强大的爬虫。WebCollector-Hadoop是WebCollector的Hadoop版本,支持分布式爬取。&/blockquote&&figure&&img src=&https://pic1.zhimg.com/50/v2-99b4ea7cfa280c1f1e5f37073fcb78f1_b.jpg& data-rawwidth=&710& data-rawheight=&577& class=&origin_image zh-lightbox-thumb& width=&710& data-original=&https://pic1.zhimg.com/50/v2-99b4ea7cfa280c1f1e5f37073fcb78f1_r.jpg&&&/figure&&br&3、Spiderman&br&码云地址:&a href=&//link.zhihu.com/?target=http%3A//git.oschina.net/l-weiwei/Spiderman2& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&l-weiwei/Spiderman2 - 码云 - 开源中国&/a&&br&使用案例:&a href=&//link.zhihu.com/?target=https%3A//my.oschina.net/laiweiwei/blog/100866& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&展现垂直爬虫的能力 - 像风一样自由&/a&&br&&blockquote&Spiderman 是一个基于微内核+插件式架构的网络蜘蛛,它的目标是通过简单的方法就能将复杂的目标网页信息抓取并解析为自己所需要的业务数据。&br&&/blockquote&&br&4、WebMagic&br&码云地址:&a href=&//link.zhihu.com/?target=https%3A//git.oschina.net/flashsword20/webmagic& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&flashsword20/webmagic - 码云 - 开源中国&/a&&br&&blockquote&webmagic的是一个无须配置、便于二次开发的爬虫框架,它提供简单灵活的API,只需少量代码即可实现一个爬虫。webmagic采用完全模块化的设计,功能覆盖整个爬虫的生命周期(链接提取、页面下载、内容抽取、持久化),支持多线程抓取,分布式抓取,并支持自动重试、自定义UA/cookie等功能。&/blockquote&&figure&&img src=&https://pic2.zhimg.com/50/a0204c24bfd0da5cdda01df77509de8a_b.jpg& data-rawwidth=&691& data-rawheight=&565& class=&origin_image zh-lightbox-thumb& width=&691& data-original=&https://pic2.zhimg.com/50/a0204c24bfd0da5cdda01df77509de8a_r.jpg&&&/figure&&br&5、Heritrix&br&github地址:&a href=&//link.zhihu.com/?target=https%3A//github.com/internetarchive/heritrix3& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&internetarchive/heritrix3&/a&&br&&figure&&img src=&https://pic4.zhimg.com/50/v2-2a7bf15d574fa947687da_b.jpg& data-rawwidth=&699& data-rawheight=&531& class=&origin_image zh-lightbox-thumb& width=&699& data-original=&https://pic4.zhimg.com/50/v2-2a7bf15d574fa947687da_r.jpg&&&/figure&&br&6、crawler4j&br&github地址:&a href=&//link.zhihu.com/?target=https%3A//github.com/yasserg/crawler4j& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&yasserg/crawler4j · GitHub&/a&&blockquote&crawler4j是Java实现的开源网络爬虫。提供了简单易用的接口,可以在几分钟内创建一个多线程网络爬虫。&/blockquote&
1、Gecco github地址: Gecco是一款用java语言开发的轻量化的易用的网络爬虫。整合了jsoup、httpclient、fastjson、spring、htmlunit、redission等框架,只需要配置一些jquery风格的选择器就能很快的写出一个爬虫。Gecco框架有优秀的可扩展性,…
&figure&&img src=&https://pic3.zhimg.com/v2-09d2be40a230d6d59f55_b.jpg& data-rawwidth=&900& data-rawheight=&500& class=&origin_image zh-lightbox-thumb& width=&900& data-original=&https://pic3.zhimg.com/v2-09d2be40a230d6d59f55_r.jpg&&&/figure&公众号每周一推送文章:&a href=&https://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s%3F__biz%3DMzIzMTYzOTYzNA%3D%3D%26mid%3D%26idx%3D2%26sn%3D1cc0adf48d4350ece70340%26chksm%3De8a05e4fdfd7dc840d017ef37d596ad2ea0bf6fc59ca159drd& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&高效地使用你的 IntelliJ&/a&
已有帐号?
无法登录?
社交帐号登录
3228 人关注
296 条内容
754 人关注
2347 条内容
3581 人关注
419 条内容
592 人关注
459 条内容}

我要回帖

更多关于 tomcat util.jar 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信