Java EE

JAVAEE框架之Spring AOP

╄→гoц情女王★ 提交于 2020-08-09 18:54:26
JAVAEE框架之Spring 六.AOP AOP (Aspect Orient Programming),直译过来就是 面向切面编程。AOP 是一种编程思想,是面向对象编程(OOP)的一种补充。面向对象编程将程序抽象成各个层次的对象,而面向切面编程是将程序抽象成各个切面。 当我们系统已经设计好了之后,要去增加功能的时候,尽量少的去之前的代码。 JAVA:面向接口编程,可以定义若干接口,使用实现类实现后续需要增加的功能。 从该图可以很形象地看出,所谓切面,相当于应用对象间的横切点,我们可以将其单独抽象为单独的模块。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o9V7qAs0-1592820088793)(E:\政通路\课堂笔记\S2\Spring\assets\image-20200622145019078.png)] ​ 再举一个案例: ​ 现实生活的案例,之前的老的居民楼,家里都有水表、电表,每到月末的时候,都有水利公司、电力公司的员工去抄表,电力公司的员工,挨家挨户的去抄表,有问题:太累、可能用户不在家,需要再次上门。这时候电力公司,就想到了AOP,面向切面编程,把各个各户的电表统一放到一个电表箱,由电力公司员工(宋光明)来抄表,大家看下,这时候,抄表员的效率是不是就大幅度提高了。 6.1 为什么需要 AOP ​ 想象下面的场景,开发中在

Docker中级篇|深入探究Docker

*爱你&永不变心* 提交于 2020-08-09 17:58:34
简介: 深入探究Docker Docker镜像理解 Docker镜像是什么 镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时库、环境变量和配置文件 Docker镜像加载原理 UnionFs:联合文件系统 UnionFs(联合文件系统):Union文件系统(UnionFs)是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下,UnionFs联合文件系统是Docker镜像的基础,镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像特性:一次同时加载多个文件系统,但从外面看起来,只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终的文件系统会包含所有底层的文件和目录 Docker镜像加载原理 Docker的镜像实际上由一层一层的UnionFs文件系统组成bootfs:主要包含 bootloader和 Kernel,bootloader主要是引导加 kernel,Linux刚启动时会加bootfs文件系统,在 Docker镜像的最底层是bootfs,这一层与我们典型的Linux/Unix系统是一样的,包含bootfs加载器和内核,当bootfs加载完成之后整个内核就都在内存中了

清华毕业大佬用了一个项目就把SpringMVC+Spring+MyBatis给讲完了

邮差的信 提交于 2020-08-09 17:51:23
前言 本文介绍的 SpringMVC Spring MyBatis 开源框架开发技术,是基于 Java EE Web应用程序,用于开发企业级 Web 应用的软件框架。 Java EE 通过提供中间层集成框架来满足各种应用需求。 Java EE 架构具有高可用性、高可靠性、高扩展性,井且成本低,是企业构建 Web 应用平台的首选。而 Java EE 架构通常选用 SpringMVC+Spring+MyBatis 框架作为其基础开发框架。通过对三个框架的合理整合,不仅可以大幅度提高系统的开发效率,而且能提高系统的稳定性、健壮性与安全性。 因为本文介绍的内容是三大框架的技术,所以包含的内容比较多,小编只把部分知识点拿出来粗略的介绍了一下,每个小节都有更加细化的部分,需要的小伙伴可以转发关注小编,私信“技术”获取! 首先,先来看下目录 其次,介绍的是主要内容 本文对当前企业使用较多的、流行的三大技术框架SpringMVC、Spring 和MyBatis的基本知识和使用方法进行了详细的讲解。 本文内容共分为七章。 第一章为 MyBatis 开发入门知识,欢迎您来到MyBatis的世界,MyBatis 是一个支持 普通SQL查询、存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装

3 月,跳不动了?

↘锁芯ラ 提交于 2020-08-09 15:48:12
不少单位已经开始复工了,跳槽季已经开始。虽说大多数互联网企业,像腾讯、字节跳动等,都已经开通远程面试环节,而且薪资有走高的趋势。但据目前看,面试难度大了许多,甚至有朋友面试后怀疑:自己真的落伍了? 比如,面试高级开发岗位时,面试官不仅考察基础能力,更会重点考察高并发、分布式等架构相关的技术背后的思考逻辑,比如:微服务,负载均衡,Redis,RPC等。(今年 Java 面试到底聚焦在知识点?文末扫码获取) 但这些技术包含了 N 多优化、N 多细节,对于一些 coding 的朋友,由于接触不到一线实战架构设计,想必并不是很了解。 刚好,趁着这段时间,整理了一套 “ 微服务+分布式 ” 的视频干货,讲解很透彻。今天分享给大家。这份资料 尤其适合 以下人群: 1.没有用过微服务技术,只会用传统的 SSM 框架 2.用过 Spring Cloud、Dubbo等技术,但是只限于使用,遇到问题基本无法解决 3.从来没有系统学习微服务、分布式架构,觉得架构设计是遥不可及的 4.对于微服务、分布式技术有所了解,但尚没有设计高可用高并发的实践经历 学完这份视频你将获得哪些收获? 理解当下最火热的微服务架构原理及其开源框架; 触及一线大厂所配备的微服务核心技术内幕知识; 对照自己掌握知识点进行查漏补缺,帮助扫除知识盲区、重构知识体系。 视频围绕“ 如何设计高可用高并发的微服务架构? ”的主题

润乾报表 dashboard 分析

橙三吉。 提交于 2020-08-09 13:04:13
在《 润乾报表多维分析功能漫游 》一文中我们已经见识了润乾报表分析控件的妙处:可视化的拖拽模式,灵活的计算方式,脱离敲打复杂多变的查询语句,只需要动动鼠标就可以获取所需要的数据。除了多维分析外,润乾报表还有dashboard分析界面那就是仪表盘,简称DBD,即大屏和分析控件的结合。 DBD可以通过图表、图形等视觉元素,将多个来源的数据中所蕴含的信息的趋势、异常和模式展现出来。接下来让我们看看当大屏与分析控件结合时会碰撞出什么样的火花吧。 DBD支持多数据集,每个数据集又支持多报表,首先以demo示例数据库中EMPLOYEE表为例,看看如何使用DBD。 数据准备 首先启动示例数据库和服务器。然后在打开的浏览器中输入访问地址: http://localhost:6868/demo/raqsoft/guide/dbd/jsp/index.jsp;或者在打开的DQL元数据层设计器中点击菜单“服务”→“仪表盘”,或者点击菜单栏中的浏览图标 ,选择“仪表盘”。 首页展示的是DBD服务器的文件目录,该目录中存放着DBD文件及文件夹,DBD文件的介绍见下文。 点击数据准备按钮 ,进入数据准备页面。数据准备页面如下图,主要分为①菜单栏、②数据集设置、③报表设置、④布局+报表编辑几个区域。 数据准备初始化页面的布局+报表编辑区为2*3的网格面板,网格高200像素,宽随屏初始大小变化。 点击数据集按钮

2020.8.6英谷实训日志

穿精又带淫゛_ 提交于 2020-08-09 12:36:55
Tomcat 服务器搭建 本篇博客我们来跟着刘老师讲一讲Tomcat 服务器的搭建 JDK Tomcat是可以运行JSP 、Servlet、Filter、 这样的程序的,因为Tomcat已经实现了JavaEE 里面的一些规范,Java EE 的工程是主要就是写JSP 、Servlet、Filter这些,tomcat符合JavaEE的规范,所以可以运行JSP 、Servlet、Filter,这些都是Java代码,Java代码必须放到虚拟机里面运行,所以Tomcat必须依赖于虚拟机,才能启动,才能运行我们的程序 网址奉上:https://www.oracle.com/index.html 下载: 首页的展示图是这样的: 走到这一步之后呢,点击Java for Developers,之后就是这样: 然后,在新界面的上方点击Downloads进行下载,怕你们找不到,所以高清大图奉上: 在这之后,根据界面的提示,找Java Archive -> Download,废话不多说,直接上图: Java SE 8: Downloads: Java SE Development Kit 8u144: 简单明了,几步轻松完成,这都是刘老师的功劳,讲的太细了,不会下载都对不起老师,学不会更是对不起老师哈哈哈哈哈哈 来源: oschina 链接: https://my.oschina.net/u

初始化注解@PostConstruct

跟風遠走 提交于 2020-08-09 12:30:40
PostConstruct 注释用于在依赖关系注入完成之后需要执行的方法上,以执行任何初始化。此方法必须在将类放入服务之前调用。支持依赖关系注入的所有类都必须支持此注释。即使类没有请求注入任何资源,用 PostConstruct 注释的方法也必须被调用。只有一个方法可以用此注释进行注释。应用 PostConstruct 注释的方法必须遵守以下所有标准:该方法不得有任何参数,除非是在 EJB 拦截器 (interceptor) 的情况下,根据 EJB 规范的定义,在这种情况下它将带有一个 InvocationContext 对象 ;该方法的返回类型必须为 void;该方法不得抛出已检查异常;应用 PostConstruct 的方法可以是 public、protected、package private 或 private;除了应用程序客户端之外,该方法不能是 static;该方法可以是 final;如果该方法抛出未检查异常,那么不得将类放入服务中,除非是能够处理异常并可从中恢复的 EJB 来源: oschina 链接: https://my.oschina.net/u/4261790/blog/4296036

Spring Boot 如何快速改造老项目?

时光毁灭记忆、已成空白 提交于 2020-08-09 12:29:04
来源:KL博客 http://www.kailing.pub/article/index/arcid/188.html 1、前言碎语 博主公司一个项目在开发中使用某些功能的时候,受限于spring低版本的限制,故索性将整个模块升级为spring boot,在这里做个记录,希望能帮助到有相同场景的朋友。 整个改造过程非常简单,耗时大概在2个小时左右,主要解决项目中的各种版本冲突,不过下面我会介绍一个神器。 2、老项目情况 1.项目使用spring-context作为容器,使用 RabbitMQ 提供RPC服务 2.spring.springframework 版本比较低,3.1.x的版本,升级后会变成4.3.x 3.项目使用 maven 构建 以上是项目的基本情况,针对如上情况,下面会详细描述改造过程中需要的关注点。 第一步:添加spring boot依赖 <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.7.RELEASE</version> <scope>import</scope> <type>pom</type

ajax请求@RequestBody

ぐ巨炮叔叔 提交于 2020-08-09 11:58:06
ajax请求@RequestBody ajax请求 $.ajax({ headers : { Accept: "application/json; charset=utf-8", 'token' : '9B4BF951093F1F1A40BB2DAAA30B3838' }, url: URI + '/admin/blog/add', type: 'POST', async: true, data: { "id":1, "type":1, "uname":"admin" }, timeout: 3000, dataType: 'json', beforeSend: function(xhr){}, success: function(data, textStatus, jqXHR){ console.log(data); }, error: function(xhr, textStatus){ console.log(xhr); }, complete: function(){ console.log("complete"); } }) contentType java后台请求方法类型,配合@ResponseBody注解一起使用才可以,不加@ResponseBody注解相当于按照和返回String同名jsp页面解析自然就会报错 @RequestBody只支持以下几种

spring-springboot使用数据

风格不统一 提交于 2020-08-09 11:57:20
本章内容 使用spring的JdbcTemplate 使用SimpleJdbcInsert插入数据 使用SpringData声明JPAreposity 使用JDBC读取和写入数据 调整领域对象以适应持久化 在将对象持久化到数据库的时候,通常最好有一个字段作为对象的唯一标识。 使用JdbcTemplate 定义jdbcTemplate repository public interface IngredientRepository{ Iterable<Ingredient> findAll(); Ingredient findOne(String id); Ingredient save(Ingredient ingredient) } 开始使用jdbcTemplate编写repository @Repository public class JdbcIngredientRepository implements IngredientRepository{ private JdbcTemplate jdbc; @Autowired public JdbcIngredientRepository(JdbcTemplate jdbc) { this.jdbc = jdbc; } ... } @Override public Iterable<Ingredient> findAll(){