Java EE

c3p0是一种jdbc数据库连接池

亡梦爱人 提交于 2020-05-09 09:37:33
c3p0是一个库 它扩展了传统的jdbc数据库连接池,并且支持JDBC3规范和JDBC2的标准扩展。 为什么使用c3p0 首先,c3p0是一种jdbc数据库连接池。那么为什么使用数据库连接池呢?因为数据库连接是一种关键的、有限的、昂贵的资源。传统的模式(如传统的java web项目中,servlet的beans中建立数据库连接),每次连接都需要验证用户,消耗了大量的时间和资源。而数据库连接池在系统初始化的时候,将数据库连接作为对象存储在内存中,当用户需要访问数据库时,并非建立一个新的连接,而是从连接池中取出一个已经建立的空闲连接对象。使用完毕后,用户不关闭连接,而是将数据库连接对象放回连接池中。数据库连接池管理数据连接的建立、断开,同时监视数据库连接数量和使用情况。使用数据库连接池会显著提高整个应用程序的伸缩性(大大提高了连接数量)和健壮性(能够应对大量用户频繁连接数据库,减少系统资源的消耗),提高应用程序的性能指标。 来源: oschina 链接: https://my.oschina.net/u/4312161/blog/4271509

Sping、SpringMVC、SpringBoot的对比

走远了吗. 提交于 2020-05-09 07:03:01
原文链接:https://dzone.com/articles/spring-boot-vs-spring-mvc-vs-spring-how-do-they-compare 作者: Ranga Karanam 译者:Yunooa 推荐关注公众号: 锅外的大佬 每日推送,专注分享国外最新技术内容,帮助每位开发者更优秀地成长 在本文中,你将获取到有关于Spring,Spring MVC和Spring Boot的概述,了解他们解决的问题以及最佳的应用位置。最重要的是Spring,Spring MVC和Spring Boot不会矛盾。他们很好的解决了不同的问题。 1.Spring框架解决的核心问题是什么? 好好想想,Spring Framework解决了什么问题? Spring Framework最重要的特性是依赖注入 所有Spring模块的核心是依赖注入或IOC控制反转 为什么这很重要?因为,当正确使用DI或IOC时,我们可以开发松耦合的应用程序。松耦合的应用程序可以很方便进行单元测试。 举个简单的例子。 2.没有依赖注入的示例 请考虑以下示例: WelcomeController 依赖于 WelcomeService 来获取 欢迎 消息。它是如何获取 WelcomeService 实例的? WelcomeService service = new WelcomeService();

Spring resultFUL编程

自作多情 提交于 2020-05-08 21:11:17
主题:spring mvc RESTful风格开发配置: 第一步: <!-- spring mvc RESTful风格的web.xml配置 --> <servlet> <servlet-name>spingmvc_RESTful</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <!-- spring mvc的配置文件路径 --> <param-value>classpath:conf/spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spingmvc_RESTful</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> 第二步: <!-- spring mvc 配置文件对静态资源的解析 --> <!-- 配置注解驱动 --> <mvc:annotation

百度UEditor富文本上传图片

爱⌒轻易说出口 提交于 2020-05-08 21:10:40
项目中使用UEditor发现设置图片自定义保存路径会出现《请求后台配置项http错误,上传功能将不能正常使用!错误》 /* 上传图片配置项 */ " imageActionName " : " uploadimage " , /* 执行上传图片的action名称 */ " imageFieldName " : " inputForm " , /* 提交的图片表单名称 */ " imageMaxSize " : 1024000 , /* 上传大小限制,单位B */ " imageAllowFiles " : [ " .png " , " .jpg " , " .jpeg " , " .gif " , " .bmp " ], /* 上传图片格式显示 */ " imageCompressEnable " : true , /* 是否压缩图片,默认是true */ " imageCompressBorder " : 1600 , /* 图片压缩最长边限制 */ " imageInsertAlign " : " none " , /* 插入的图片浮动方式 */ " imageUrlPrefix " : " /cms/static/userfiles/ " , /* 图片访问路径前缀 */ " imagePathFormat " : " /{yyyy}{mm}{dd}/{time}{rand

【SpringBoot】转载 springboot使用thymeleaf完成数据的页面展示

為{幸葍}努か 提交于 2020-05-08 20:32:55
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/weixin_36380516/article/details/78668199 上一篇介绍了使用jsp完成数据的页面展示 ,但是springboot并不推荐使用jsp,会产生很多问题。官方推荐使用thymeleaf,这里我们将上一篇的jsp页面展示修改为使用thymeleaf,通过对比来熟悉thymeleaf,其实改动的地方并不大。 第一篇springboot入门时介绍了项目的大致结构,当时图省事所有的类都放在一个包中,这里略做调整,然后再resource下新建文件夹存放thymeleaf模板,使用springboot生成工程时应该会默认有这几个文件夹,此时项目结构大致如下: 为thymeleaf添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> 查询接口(接上一篇,基本没变) /** * @return * 查询全部信息 */ @RequestMapping("/list") public ModelAndView

Spring Boot 2.0官方文档之 Actuator

和自甴很熟 提交于 2020-05-08 19:03:22
前言:本文翻译自Spring Boot 2.0.1.RELEASE官方文档,该Spring Boot版本是当前(2018年4月份)官方推荐版本,因Spring Boot 2.0的Actuator与之前版本有较大不同,而网上相关博文资料较旧,故建议阅读官方文档再做实践.转载需经本人同意,注明出处方可转载. 参考:https://docs.spring.io/spring-boot/docs/2.0.1.RELEASE/reference/html/production-ready-enabling.html 文章目录 执行器(Actuator)的定义 1. 开启Actuator 2. 端点(Endpoints) 2.1 启用端点 2.2 暴露端点 2.3 保护HTTP端点 2.4 配置端点缓存时间 2.5 端点的发现页 2.6 端点的路径 2.7 跨域支持 2.8 实现自定义端点 2.8.1 接收输入 2.8.2 自定义Web端点 2.8.3 Servlet端点 2.8.4 控制器端点 2.9 健康信息 2.9.1 自动配置的HealthIndicators 2.9.2 编写自定义HealthIndicators 2.9.3 反应性健康指标 2.9.4 自动配置的ReactiveHealthIndicators 2.10 应用信息 2.10.1

零基础自学java在线资源(新手福利)

旧巷老猫 提交于 2020-05-08 17:23:13
俗话说工欲善其事,必先利其器,今天给大家分享一个java自学网站: how2j ,这是一个有十年淘宝工作经验大牛的制作的网站,距离现在已经有三四年了,这个网站包含的知识非常的多,从基础的环境变量配置一直到完整项目的开发部署,以及面试教程,还有很多工具可提供直接下载使用,避免了初学者配置个工具就要半天时间,大大的减少了不必要的麻烦,还设计了很多有趣的游戏例子,提高了学习兴趣,在兴趣中快乐的学习,下面就给大家展示一下: https://how2j.cn 一:代码对比: 很多时候因为一个符号,一个字母写错了,导致程序不能正常运行,调试半天很难发现,最后导致学习兴趣大大减少,很难坚持下去,恰巧这个网站提供了代码比较.可以复制你写的代码和站长的比较,系统一下子就给你提示哪里错了,很快就解决了. 二:模块化教学 java基础: helloworld → 面向对象 → 变量 → 操作符 → 控制流程 → 数组 → 类和对象 → 接口和继承 → 数字与字符串 → 日期 java中级: 异常处理 I/O → 集合框架 → 泛型 → Lambda → 多线程 → JDBC → 图形界面 → 网络编程 → 实战项目 java高级: 反射机制 → 注解 java应用: Log4j → junit → hutool → jsoup → lombok 前端: HTML → CSS → javaScript →

开发15年老码农:如果重新开始,你会选择了解MVC, MVP, MVVM吗?

天涯浪子 提交于 2020-05-08 16:23:29
前言: 准备写这篇文章的时候 , 我自认为对MVC已经有深刻理解了,可是画图的时候发现,理解还是有漏洞,于是又阅读,思考,整理,加深了理解, 写了这篇文章, 估计还有漏洞,欢迎讨论。 这再一次说明了写作的好处: 很多时候自以为理解了,实际上脑海中有很多想当然的假设,写作会把这些假设给暴露出来。 大概是二三十年前, 人类逐渐从命令行界面时代走出来,进化到了GUI时代。 注: GUI(Graphic User Interface),即图形用户接口。 (一个命令行程序) (一个带有图形界面的桌面应用程序 ,自己画的,有点丑啊) 每当人类努力地开发新的 桌面GUI程序 的时候, 至少要搞定下面几类工作: 1. 界面(以及界面中元素的)布局。 这是一件挺费劲的工作, 要尽可能地美观漂亮,要不然就卖不出去。 2. 界面上有些“逻辑”需要处理 比如上图中那个薪水计算程序,“计算” 按钮默认是灰色的, 不能点击,用户输入了税前收入以后, “计算”按钮就会被激活,表示计算了。 3. 所谓的业务逻辑。 用户点击了“计算”按钮以后,计算五险一金,个人所得税和税后收入。 这三者搅在一起,让程序代码凌乱不堪,稍微复杂点儿的程序就长达几千行, 不断地挑战着程序员的底线,修改别人的代码,添加新的功能要比从头写难好多倍! 大家都在泥潭中挣扎。 关于MVC, MVP, MVVM的精选资料 需要的小伙伴可以私信

这份Java Web必读书单,值得所有Java工程师一看!

岁酱吖の 提交于 2020-05-08 15:32:43
点击蓝色“ 程序员书单 ”关注我哟 加个“ 星标 ”,每天带你读好书! 经过了10多年的发展,Java Web从开发框架到社区都已经非常成熟,而目前市面上最流行的Java Web框架已然是Spring全家桶,从过去的Spring,SpringMVC,再到SpringBoot。而曾经流行的JSP和servlet,随着前后端分离的趋势,以及Spring这类框架的冲击,也逐渐地淡出了人们的视线,被历史所抛弃。 那么今天如果我们要学习Java Web,应该按照什么样的一个路线去学习呢,其实,而很多技术虽然已经过时,但是我们仍有必要了解一些它们的历史和发展历程,就比如servlet,曾经需要我们显示进行开发,而现在则内嵌在了springMVC框架中,还有Tomcat,干脆直接包在了框架里,但实际上这些技术还是值得我们去学习和了解的。 这份书单将会推荐几本我认为在学习Java Web方面上比较合适的优质书籍,从JavaWeb基础开始,再到SSM框架开发实战,然后是SSM框架的原理解读和源码解析,还有最后一本书,干脆直接叫你写一个Java Web框架,是不是感觉有“从入门到精通”的意思了。不管怎么说,这份书单多少都会对你有一些帮助,赶紧开始看吧。 JavaWeb技术学习必备书单 入门篇 《 深入分析Java Web技术内幕 》 许令波 著 这本书是Java Web的集大成之作

Spring入门(十四):Spring MVC控制器的2种测试方法

眉间皱痕 提交于 2020-05-08 14:23:57
作为一名研发人员,不管你愿不愿意对自己的代码进行测试,都得承认测试对于研发质量保证的重要性,这也就是为什么每个公司的技术部都需要质量控制部的原因,因为越早的发现代码的bug,成本越低,比如说,Dev环境发现bug的成本要低于QA环境,QA环境发现bug的成本要低于Prod环境,Prod环境发现bug的成本最高,这也是每个研发人员最不愿意遇到但永远避不掉的现实。 虽然不能完全避免,但我们可以对自己的代码进行充分的测试,降低bug出现的几率。 所以, 本篇博客我们主要讲解下Spring MVC控制器的2种测试方法: 部署项目后测试 借助JUnit和Spring Test框架测试 1. 部署项目后测试 在前2篇博客中,我们采取的就是这种测试方式,即将项目打成war包,部署到Tomcat中,运行项目后, 借助浏览器或者Postman等工具对控制器进行测试。 如果是get请求,可以使用浏览器或者Postman测试。 如果是post、put、delete等请求,可以使用Postman进行测试。 有兴趣的同学,可以看下之前的2篇博客: Spring入门(十二):Spring MVC使用讲解 Spring入门(十三):Spring MVC常用注解讲解 2. 借助Junit和Spring Test框架测试 上面的方法虽然可以进行测试,但每次都打包、部署、运行项目、测试,显然很不方便