6.框架
文章平均质量分 80
郑学炜
这个作者很懒,什么都没留下…
展开
-
36.微服务框架(Dubbo 和 Spring Cloud)
Java 微服务框架选型(Dubbo 和Spring Cloud?)微服务(Microservices)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。以往我们开发应用程序都是单体型(可以看作是一个怪兽原创 2018-06-05 18:09:21 · 666 阅读 · 0 评论 -
28.SpringBoot入门级的微服务框架
1. Spring Boot是什么,解决哪些问题? 1) Spring Boot使编码变简单 2) Spring Boot使配置变简单 3) Spring Boot使部署变简单 4) Spring Boot使监控变简单 5) Spring Boot的不足2. Spring Boot在平台中的定位,相关技术如何融合? 1) SpringBoot与SEDA +MicroService + RESTfu...原创 2018-04-11 21:37:56 · 305 阅读 · 0 评论 -
7.Spring的自动装配
提到依赖注入,就不能不说装配。有些初学者总是会把这两个概念搞混,这个博文就是来跟大家讨论这两个概念以及其中详细的原理。 依赖注入的本质就是装配,装配是依赖注入的具体行为。这就是两者的关系。例如: 首先,确定一下装配的概念。《spring实战》中给装配下了一个定义:创建应用对象之间协作关系的行为称为装配。也就是说当一个对象的属性是另一个对象时,实例化时,需要为这个...原创 2018-04-03 15:52:00 · 338 阅读 · 0 评论 -
5.简单实现Spring的IOC容器
学习过Spring的同学都知道,Spring框架的核心就是IoC和AOP。Spring可以理解为一个工厂,负责对象的创建和对象间关系的维护。IoC即控制反转,简单点说就是原来的对象是在要使用之前通过在代码里通过new 的方式创建出来的而IOC的思想则是由spring容器创建同一创建(配置文件中注册bean对象),在程序要使用到该对象的时候,自动注入。(spring默认在web容器启动的时候就创建...原创 2018-03-22 10:05:43 · 242 阅读 · 0 评论 -
24.Spring Boot 是什么
对于传统的 Spring 开发者来说,即使开发一个简单的功能,也需要进行大量的配置声明,以及大量繁琐的注解。为了化繁为简,Spring Boot 主要解决了以下问题:1. Spring Boot 提供极其快速和简化的操作,让 Spring 开发者快速上手。2. 提供了 Spring 运行的默认配置。(约定优于配置)。3. 为通用 Spring 项目提供了很多非功能性特性,例如:嵌...原创 2018-03-21 10:55:51 · 274 阅读 · 0 评论 -
18.Mybatis复习提纲
Mybatis是什么?mybatis是一人持久层框架,mybatis是一个不完全的ORM框架。sql语句需要程序员自己去编写,但是mybatis也有映射(输入参数映射、输出结果映射)。mybatis入门门槛不高,学习成本低,让程序员把精力放在sql语句上,对sql语句优化非常方便,适用与需求变化较多项目,比如互联网项目。 mybatis框架执行过程:1、配置mybatis的配置文件,SqlMap...原创 2018-03-06 16:14:56 · 232 阅读 · 0 评论 -
25.Spring boot所学注解@EnableAutoConfiguration和@SpringbootApplication(main函数)
@EnableAutoConfiguration和@SpringbootApplication的区别SpringBoot采取了这些注解的优点,在@EnableAutoConfiguration注解中的这些注解被用来执行自动配置(auto-configuration)。让我们来近距离的看一下@EnableAutoConfiguration注解并看一看它背后的逻辑。 @Target({Eleme...原创 2018-03-13 19:08:24 · 1346 阅读 · 0 评论 -
21.Mybatis中使用sql几种特殊情况
1 动态sql1.1 什么是动态sqlmybatis核心 对sql语句进行灵活操作,通过表达式进行判断,对sql进行灵活拼接、组装。 1.2 需求 用户信息综合查询列表和用户信息查询列表总数这两个statement的定义使用动态sql。 对查询条件进行判断,如果输入参数不为空才进行查询条件拼接。 1.3 mapper.xml1.4 测试代码 1.5 sql片段1.5.1 需求将上边...原创 2018-03-06 16:02:52 · 170 阅读 · 0 评论 -
19.Mybatis开发规范及输入输出映射配置时注意事件
程序员需要编写mapper.xml映射文件程序员编写mapper接口需要遵循一些开发规范,mybatis可以自动生成mapper接口实现类代理对象。 1.开发规范:1、在mapper.xml中namespace等于mapper接口地址2、mapper.java接口中的方法名和mapper.xml中statement的id一致 3、mapper.java接口中的方法输入参数类型和mapper.xml...原创 2018-03-06 15:39:52 · 247 阅读 · 0 评论 -
4.SpringAOP动态代理之JDK和CGlib实现过程与仿写简例
Proxy InvocationHandlerAOP概述软件的编程语言最终的目的就是用更自然更灵活的方式模拟世界,从原始机器语言到过程语言再到面向对象的语言,我们看到编程语言在一步步用更自然、更强大的方式描述软件。AOP是软件开发思想的一个飞跃,AOP的引入将有效弥补OOP的不足,OOP和AOP分别从纵向和横向对软件进行抽象,有效地消除重复性的代码,使代码以更优雅的更有效的方式进行逻辑表达。AOP...原创 2018-04-18 12:08:18 · 434 阅读 · 0 评论 -
3.Spring AOP的底层实现技术及源码解析
Spring AOP的底层实现技术三、Spring AOP的实现我们来试着看看能不能理解SpringAOP底层的实现原理。3.1 Spring AOP的几个概念Spring AOP中的几个基本概念,每次学习AOP都被这几个概念折腾的很不爽,我们在这里再把这几个概念描述一遍,力争把这几个概念搞清,在每次review这块内容的时候可以很快上手。1.切面(Aspect):切面就是一个关注点的模块化,如事...原创 2018-04-18 17:16:27 · 6739 阅读 · 2 评论 -
12.Spring Bean是什么
Bean在Spring和SpringMVC中无所不在,将这个概念内化很重要,下面分享一下我的想法: 一、Bean是啥1、Java面向对象,对象有方法和属性,那么就需要对象实例来调用方法和属性(即实例化); 2、凡是有方法或属性的类都需要实例化,这样才能具象化去使用这些方法和属性; 3、规律:凡是子类及带有方法或属性的类都要加上注册Bean到Spring IoC的注解;(@Component , @...原创 2018-04-18 23:54:18 · 10582 阅读 · 2 评论 -
33.服务之间的调用之RPC、Restful深入理解
RPC、REST API深入理解一:RPCRPC 即远程过程调用(Remote Procedure Call Protocol,简称RPC),像调用本地服务(方法)一样调用服务器的服务(方法)。通常的实现有 XML-RPC , JSON-RPC , 通信方式基本相同, 所不同的只是传输数据的格式.RPC是分布式架构的核心,按响应方式分如下两种:同步调用:客户端调用服务方方法,等待直到服务方返回结果...原创 2018-05-08 01:52:42 · 56261 阅读 · 10 评论 -
32.微服务之间的调用方式RestTemplate和FeignClient
SpringCloud服务间的调用有两种方式:RestTemplate和FeignClient。不管是什么方式,他都是通过REST接口调用服务的http接口,参数和结果默认都是通过jackson序列化和反序列化。因为Spring MVC的RestController定义的接口,返回的数据都是通过Jackson序列化成JSON数据。一、RestTemplate使用这种方式,只需要定义一个RestTe...原创 2018-05-07 23:08:02 · 11483 阅读 · 3 评论 -
38.接收表单数据的几种方式
其实就是三种:1. 直接把表单的参数写在Controller相应的方法的形参中2. 通过HttpServletRequest接收3. 通过一个bean来接收(JSON转bean) 1.前台主要代码[html] view plain copy1. <form> 2. <table> 3. <tr> 4. ...原创 2018-04-29 12:50:57 · 427 阅读 · 0 评论 -
8.Spring Aop、拦截器、过滤器的区别
Spring Aop、拦截器、过滤器的区别Filter过滤器:拦截web访问url地址。Interceptor拦截器:拦截以.action结尾的url,拦截Action的访问。Spring AOP拦截器:只能拦截Spring管理Bean的访问(业务层Service) ------------------------------------------------------------------...原创 2018-05-06 01:17:36 · 704 阅读 · 0 评论 -
35.单体架构与微服务架构
单体架构与微服务架构 【单体架构】 1.什么是单体架构 一个归档包(例如war格式)包含了应用所有功能的应用程序,我们通常称之为单体应用。架构单体应用的方法论,我们称之为单体应用架构。 2.单体架构示例图 3. 单体架构的缺陷 - 复杂性高。整个项目包含的模块非常多,模块的边界模糊,依赖关系不清晰,代码质量参差不齐……整个项目非常复杂。每次修改代码都心惊胆战...原创 2018-05-12 10:55:18 · 614 阅读 · 0 评论 -
10.Spring拦截器是什么及其使用
Spring中使用Interceptor拦截器 SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理。比如通过它来进行权限验证,或者是来判断用户是否登陆,或者是像12306 那样子判断当前时间是否是购票时间。 一、定义Interceptor实现类 SpringMVC 中的Interceptor 拦截请求是通过H...原创 2018-05-03 17:49:05 · 3220 阅读 · 2 评论 -
39.MVC框架总结
MVC(模型Model-视图View-控制器Controller)是一种设计模式, M(Model)在Java Web里说的是JavaBean,在JavaBean中除了其属性和字段,还可以有行为及其事件,JavaBean可以理解为普通Java对象。Java普通对象,就是符合Java规范的所有对象,这和实体类完全是两回事。业务逻辑和数据访问应该放在Model层,也就是V负责展示...原创 2018-05-03 16:26:57 · 256 阅读 · 0 评论 -
31.微服务服务网关
一、什么是服务网关服务网关 = 路由转发 + 过滤器1、路由转发:接收一切外界请求,转发到后端的微服务上去;2、过滤器:在服务网关中可以完成一系列的横切功能,例如权限校验、限流以及监控等,这些都可以通过过滤器完成(其实路由转发也是通过过滤器实现的)。 二、为什么需要服务网关上述所说的横切功能(以权限校验为例)可以写在三个位置:· 每个服务自己实现一遍· 写到一个公共的服...原创 2018-05-09 11:18:31 · 410 阅读 · 0 评论 -
13.Spring Bean的作用域和生命周期
Bean的作用域、生命周期 · Bean的作用域 Spring3中为Bean定义了5中作用域,分别为singleton(单例)、prototype(原型)、request、session和global session,5种作用域说明如下:1. singleton:单例模式,Spring IoC容器中只会存在一个共享的Bean实例,无论有多少个Bean引用它,始终指向同一对象。S...原创 2018-04-19 01:07:35 · 457 阅读 · 0 评论 -
23.mybatis和hibernate本质区别和应用场景
hibernate:是一个标准ORM框架(对象关系映射)。入门门槛较高的,不需要程序写sql,sql语句自动生成了。对sql语句进行优化、修改比较困难的。应用场景: 适用与需求变化不多的中小型项目,比如:后台管理系统,erp、orm、oa。。 mybatis:专注是sql本身,需要程序员自己编写sql语句,sql修改、优化比较方便。mybatis是一个不完全的ORM框架,虽然程序员自己...原创 2018-03-06 13:17:07 · 253 阅读 · 0 评论 -
17.浅析Mybatis(Mybatis框架构成)
1.mybatis是什么? mybatis是一个持久层的框架,是apache下的顶级项目。mybatis托管到goolecode下,再后来托管到github下(https://github.com/mybatis/mybatis-3/releases)。 mybatis让程序将主要精力放在sql上,通过mybatis提供的映射方式,自由灵活生成(半自动化,大部分需要程序员编写sql)满足需要sql...原创 2018-03-06 13:13:36 · 237 阅读 · 0 评论 -
16.SpringMvc的常用注解
在项目学习的过程中,使用到了哪些注解呢?1:@RequestMappingRequestMapping可以注解到类或者方法上,可以用来处理请求地址的映射。注:注解于类上,说明该类中所有的响应请求方法都是以该注解地址为父路径的。RequestMapping有几个属性,把最重要的几个分成以下3个类:1) value, method;value:指定的请求地址,或者URI模式的地址。具体实现如下:...原创 2018-03-04 13:00:01 · 319 阅读 · 0 评论 -
2.初识SpringAOP及其实现策略
1.AOP的作用在OOP中,正是这种分散在各处且与对象核心功能无关的代码(横切代码)的存在,使得模块复用难度增加。AOP则将封装好的对象剖开,找出其中对多个对象产生影响的公共行为,并将其封装为一个可重用的模块,这个模块被命名为“切面”(Aspect),切面将那些与业务无关,却被业务模块共同调用的逻辑提取并封装起来,减少了系统中的重复代码,降低了模块间的耦合度,同时提高了系统的可维护性。AOP面向切...原创 2018-03-11 12:08:02 · 373 阅读 · 1 评论 -
5.浅谈Spring ioc
spring的核心思想是IOC和AOPIOC-控制反转,是一个重要的面向对象编程的法则来消减计算机程序的耦合问题,控制反转一般分为两种类型,依赖注入和依赖查找,依赖什么?为什么需要依赖?注入什么?控制什么?依赖注入和控制反转是一样的概念吗?接触新的知识,小编的脑袋中全是大大的问号,不过没有关系,今天这篇博文,小编主要来简单的介绍一下在spring IOC中依赖注入的方法。 依赖注入和控制凡转...原创 2018-03-10 21:25:53 · 192 阅读 · 0 评论 -
9.Spring的几种注入方式
几种注入方式:1、属性注入(使用属性的setter方法注入)2、构造方法注入3、工厂方法注入(静态工厂、实例工厂(非静态工厂))4、注解注入 1.Set注入这是最简单的注入方式,假设有一个SpringAction,类中需要实例化一个SpringDao对象,那么就可以定义一个private的SpringDao成员变量,然后创建SpringDao的set方法(这是ioc的注入入口):package c...原创 2018-03-10 20:39:08 · 434 阅读 · 0 评论 -
11.Spring的单例实现
下面我们来看看Spring中的单例实现,当我们试图从Spring容器中取得某个类的实例时,默认情况下,Spring会才用单例模式进行创建。<bean id="date" class="java.util.Date"/> <bean id="date" class="java.util.Date" scope="singleton"/> (仅为Spr原创 2018-03-07 11:13:59 · 2038 阅读 · 0 评论 -
29.浅谈微服务的架构设计
现在很多人都在谈微服务,那么到底什么是微服务呢?这里谈谈我对微服务的理解。微服务有两个核心:· 微:服务的粒度要细,即服务要细化到API· 服务:提供好服务,要让用户感到好用(要做到这一点很不容易)上面两个核心总结起来,可以用下面这幅图表示:从上面这幅图看出,微服务特别简单(好的架构就应该简单),我们把服务再拆分成一个个API,API是一个完整的功能。然后我们把API扔...原创 2018-03-11 18:01:34 · 984 阅读 · 0 评论 -
14.SpringMvc的工作流程
1:首先服务器接收客户端的请求,被Spring的前端控制器DispatcherServlet所捕获。2:前端控制器DispatcherServlet对接收到的URL进行解析,得到请求资源标识符(URI),根据URI,找到相应的映射处理器(HandlerMapping),调用相应的HandlerMapping获得Handler映射。最后以HandlerExecutionChain形式的Handler...原创 2018-03-04 18:28:59 · 363 阅读 · 0 评论 -
1.DAO,Service,Controller,View层之间的逻辑关系
Dao层: Dao层是数据访问层,负责与数据库进行联络的一些任务封装在此,Dao层的设计首先是设计Dao接口,然后在Spring的配置文件中定义此接口的实现类,最后就可以通过模块调用此接口来进行数据业务的处理,而不必关心此接口的具体实现类是哪个类。 优点:结构清晰,Dao层的数据源配置以及相关的有关数据库连接的参数都在Spring配置文件中进行配置。 Service层: ...原创 2018-03-04 17:57:51 · 3311 阅读 · 0 评论 -
37.初识JPA
JPA是什么JPA全称Java Persistence API,是一组用于将数据存入数据库的类和方法的集合。JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。JPA统一了java应用程序访问ORM框架的规范。以前我们的应用程序直接使用ORM框架,如hibernate,mybatis。但是不同的框架使用方法不一样,而JPA让我们以同样的方式访问不同...原创 2018-03-11 21:36:16 · 414 阅读 · 0 评论 -
26.SpringBoot构建Restful service完成Get和Post请求
SpringBoot构建Restful service完成Get和Post请求 一个基本的RESTfule service最经常向外提供的请求Method就是Get和Post。在Get中,常用的都会在请求上带上参数,或者是路径参数。响应Json。在Post中,常用的会提交form data或者json data作为参数,响应Json。1. Get请求,url传参,返回json。准...原创 2018-03-05 20:01:05 · 2245 阅读 · 0 评论 -
27.SpringBoot和SpringMVC的区别
spring boot与spring mvc的区别是什么? spring boot只是一个配置工具,整合工具,辅助工具.springmvc是框架,项目中实际运行的代码Spring 框架就像一个家族,有众多衍生产品例如 boot、security、jpa等等。但他们的基础都是Spring 的ioc和 aop. ioc 提供了依赖注入的容器, aop解决了面向横切面的编程,然后在此两者的基础上实现了其...原创 2018-03-18 17:16:27 · 48000 阅读 · 5 评论 -
22.Mybatis缓存机制
一级缓存是SqlSession级别的缓存。在操作数据库时需要构造 sqlSession对象,在对象中有一个(内存区域)数据结构(HashMap)用于存储缓存数据。不同的sqlSession之间的缓存数据区域(HashMap)是互相不影响的。一级缓存的作用域是同一个SqlSession,在同一个sqlSession中两次执行相同的sql语句,第一次执行完毕会将数据库中查询的数据写到缓存(内存),第二...原创 2018-03-18 16:53:47 · 217 阅读 · 0 评论 -
15.SpringMVC与Structs2的差异
1. Struct2是类级别的拦截,一个类对应一个request上下文。SpringMVC是方法级别的拦截,一个方法对应一个request上下文。而方法同时对应一个url,所以从架构上说,SpringMVC更容易实现restfulurl。但是Structs2实现则费劲一些,因为Structs2中Action的一个方法可以对应一个url,但是类属性却被其它方法所共享,这就无法用注解或者...原创 2018-03-05 00:31:25 · 476 阅读 · 0 评论 -
34.微服务之间的通信
简介在单体应用中,各模块之间的调用是通过编程语言级别的方法或者函数来实现的。而基于微服务的分布式应用是运行在多台机器上的;一般来说,每个服务实例都是一个进程。因此,如下图所示,服务之间的交互必须通过进程间通信(IPC)来实现。后面我们将会详细介绍 IPC 技术,现在我们先来看下设计相关的问题。交互模式当为某个服务选择 IPC 时,首先需要考虑服务之间的交互问题。客户端和服务器之间有很多的交互模式,...原创 2018-03-11 20:00:29 · 14063 阅读 · 1 评论 -
30.微服务治理
这里简单介绍一下弹性云的概念,微服务要想提供好服务,保证API不能挂掉并且有好的性能,需要很高的运维要求。这里的弹性云便是自动化运维解决方案,对访问压力进行监控,根据监控解决调度应用的发布和回收。 服务治理上面提到了服务化,其实要想服务化,服务治理是关键。那么有没有好的服务治理方案呢?答案是有的,而且很多人都在用这个框架,他就是-dubbo。dubbo就是一个带有服务治理功能的RPC框架。dubb...原创 2018-03-11 18:03:31 · 2172 阅读 · 1 评论 -
20.mybatis常用标签
mybatis中refid是什么意思1、首先定义一个sql标签,一定要定义唯一id<sqlid="Base_Column_List" >name,age</sql>2、然后通过id引用<select id="selectAll">select <include refid="Base_Column_List" /> from stu原创 2018-03-07 10:47:06 · 737 阅读 · 0 评论