- Spring Cloud Ribbon核心负载均衡算法详解
代码的余温
springcloudribbon负载均衡
Ribbon作为SpringCloud生态中的客户端负载均衡工具,提供多种动态负载均衡算法,根据后端服务状态智能分配请求。其核心算法及适用场景如下:一、Ribbon负载均衡算法算法名称工作原理引用来源轮询(RoundRobinRule)按服务列表顺序依次分发请求,实现均匀分摊负载随机(RandomRule)从可用服务列表中随机选择一个实例处理请求加权响应时间(WeightedResponseTim
- 后端开发的新选择:Spring Cloud 事件驱动架构
大厂资深架构师
SpringBoot开发实战springcloud架构springai
后端开发的新选择:SpringCloud事件驱动架构关键词:事件驱动架构、SpringCloudStream、微服务解耦、消息中间件、异步通信摘要:传统微服务架构中,服务间的直接调用常导致紧耦合和扩展性瓶颈。本文将以“快递物流”为类比,从事件驱动架构(EDA)的核心概念出发,结合SpringCloudStream等工具,详细讲解如何用SpringCloud构建松耦合、高弹性的事件驱动系统。涵盖概念
- Feign和Dubbo的技术选型对比分析
Amarantine、沐风倩✨
dubbospringboot后端
现在公司项目要做SpringBoot升级2.7.18—>3.4.1。因此我们需要参考芋道的项目和公司当前项目做一个依赖、技术选型、项目结构差异对比分析。我们公司当前用的Dubbo,而芋道最新的一版却用了Feign来代替Dubbo。所以该文章进行一下对比分析。一、Dubbo与Feign简介特性维度Dubbo(3.x)OpenFeign(SpringCloud)通信协议多协议(默认Dubbo、支持gR
- SpringBoot生态全景图:从SpringCloud到云原生技术栈演进
fanxbl957
Webspringbootspringcloud云原生
博主介绍:Java、Python、js全栈开发“多面手”,精通多种编程语言和技术,痴迷于人工智能领域。秉持着对技术的热爱与执着,持续探索创新,愿在此分享交流和学习,与大家共进步。DeepSeek-行业融合之万象视界(附实战案例详解100+)全栈开发环境搭建运行攻略:多语言一站式指南(环境搭建+运行+调试+发布+保姆级详解)感兴趣的可以先收藏起来,希望帮助更多的人SpringBoot生态全景图:从S
- Spring Cloud 微服务架构部署模式
Java技术栈实战
架构springcloud微服务ai
SpringCloud微服务架构部署模式:从单体到云原生的进化路径关键词:SpringCloud、微服务架构、部署模式、容器化、Kubernetes、服务网格、DevOps摘要:本文系统解析SpringCloud微服务架构的核心部署模式,涵盖传统物理机部署、容器化部署、Kubernetes集群编排、服务网格集成等技术栈。通过技术原理剖析、实战案例演示和最佳实践总结,揭示不同部署模式的适用场景、技术
- Spring Cloud Alibaba 微服务架构深度解析
后端spring-cloud
在SpringCloud生态体系中,SpringCloudAlibaba作为国产微服务解决方案,通过整合阿里开源组件,提供了一站式服务注册与发现、配置管理、流量控制等能力。本文从核心组件、技术选型、与原生SpringCloud对比及面试高频问题四个维度,结合源码与工程实践,系统解析SpringCloudAlibaba的实现原理与最佳实践。一、核心组件与技术选型1.1组件图谱与定位领域SpringC
- Java面试必备:Dubbo 与 Spring Cloud Gateway 的区别
二进制11
#SpringCloud面试题java面试dubboSpringCloud后端开发语言
SpringCloud面试题-Dubbo和SpringCloudGateway有什么区别?概述Dubbo和SpringCloudGateway都是微服务架构中的重要组件,但它们的设计目标和应用场景有显著差异。Dubbo是一个高性能的RPC框架,而SpringCloudGateway是一个API网关解决方案。核心区别特性DubboSpringCloudGateway类型RPC框架API网关主要功能服
- springboot中用强大丰富的Hutool_工具类集合代替Util类_推荐---SpringCloud工作笔记183
添柴程序猿
java开发语言工具类Util集合
最近做项目的时候知道,这个小工具类非常好用,功能非常全.Hutool参考文档Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。Hutool中的工具方法来自每个用户的精雕细琢,它涵盖了Java开发底层代码中的方方面面,它既是大型项目开发中解决小问题的利器,也是小型项目中的效率担当;H
- 【学习笔记】2024最新版SpringCloud教程
2024最新版SpringCloud教程0前言闲聊开篇简介1SpringBoot和SpringCloud版本选型2SpringCloud是什么能干吗3SpringCloud各组件的停更升级替换说明4项目实战之需求说明5项目实战之Maven父工程聚合说明和mysql驱动选择6项目实战之Mapper4一键生成Dao层代码7项目实战之微服务工程化编写步骤8项目实战之Pay支付微服务编码落地实战9项目实战
- SpringCloud系列(34)--使用Hystrix进行服务熔断
Ken_1115
springcloudhystrix
前言:在上一节中我们使服务降级的相关代码与业务代码解耦了,使得服务降级的相关配置变得更明了清晰,而关于服务降级的内容也介绍完毕,所以本节内容则是关于如何使用Hystrix进行服务熔断处理。1、熔断机制概述熔断机制是应对雪崩效应的一种微服务链路保护机制。当扇出链路的某个微服务出错不可用或者响应时间太长时,会进行服务的降级,进而熔断该节点微服务的调用,快速返回错误的响应信息。当检测到该节点微服务调用响
- Spring Cloud Gateway构建的API网关服务 | Spring Cloud 12
gmHappy
springcloudgatewayspring
一、SpringCloudGateway1.1概述所谓的网关就是指系统的统一入口,它封装了运用程序的内部结构,为客户端提供统一的服务,一些与业务功能无关的公共逻辑可以在这里实现,诸如认证、鉴权、监控、路由转发等。SpringCloudGateway是SpringCloud推出的第二代网关,是由WebFlux、Netty、Reactor实现的响应式的API网关,需要SpringBoot和Spring
- Traefik和Spring Cloud Gateway接口级限流和熔断对比
老兵发新帖
云原生
接口级限流和熔断对比特性TraefikSpringCloudGateway接口级限流✅支持,但配置复杂✅原生支持,灵活接口级熔断✅支持,但配置复杂✅原生支持,灵活配置方式多个IngressRoute编程式+配置式灵活性中等高维护成本高(配置文件多)中等(代码维护)Traefik接口级实现当前项目状态(服务级):#您当前的配置-服务级别-match:Host(`example.com`)&&Path
- SpringQueryMap 注解的作用
冰糖心书房
微服务实战系列javaspringboot
这个注解在SpringCloud开发中非常有用。我们来详细解析一下org.springframework.cloud.openfeign.SpringQueryMap的作用。一句话总结@SpringQueryMap是一个注解,用在OpenFeign的接口方法上,它的作用是将一个复杂的Java对象(POJO)自动展开成多个URL查询参数。简单来说,它解决了当查询参数过多时,在接口方法中写大量@Req
- 什么是Sentinel
2401_85327573
sentineljava微服务
什么是SentinelSentinel是阿里巴巴开源的面向分布式服务架构中的流量治理组件,主要用于提供服务保护功能,帮助微服务系统应对高并发场景下的流量冲击、系统故障等问题。Sentinel的核心目标是通过轻量级的实现方式,在微服务中实现高可用性和稳定性,减少手动干预。它支持与SpringCloud、Dubbo等框架无缝集成,并可通过Nacos等配置中心实现动态规则管理。Sentinel的实现原理
- 主流中间件/服务理论并发量对比
jarenyVO
中间件中间件
主流中间件/服务理论并发量对比负载均衡/网关类技术理论并发量优点缺点适用场景LVS(DR模式)百万级(10万-100万)内核层转发,性能极高;无流量瓶颈配置复杂;不能做内容处理四层负载均衡;大流量入口Nginx5万-50万七层处理能力强;配置灵活反向代理性能低于LVSHTTP/HTTPS负载均衡;API网关SpringCloudGateway1万-5万深度Spring生态集成;编程模型灵活性能低于
- 黑马SpringCloud-day01-MybatisPlus-个人笔记
dkeml
springcloud笔记spring
Mybatis-plus一.约定类名(驼峰转下划线)作表名id作主键变量名(驼峰转下划线)转字段名二.自定义配置1.@TableName(“tb_user”)指定表名2.@TableId(value=“id”,type=“策略”)type:AUTO:数据库自增长INPUT:通过set方法自行输入ASSIGN_ID:全局唯一ID生成器默认为雪花算法3.@TableField(“name”)场景:变量
- 技术选型:为什么要使用Sentinel?
荼白z
Java
Hystrix已经停止更新后,大部分的技术选型会转向Sentinel,也就是SpringCloudAlibaba刚刚开源的,但是为什么我们要使用它呢,我们从Sentinel和Hystrix的对比入手Hystrix的关注点是在隔离和熔断为主的容错机制,超时或被熔断的调用会快速失败,并可以提供fallback机制Sentinel主要是以流量为切入点,从流量控制,熔断降级,系统负载保护等多个维度来帮助用
- Spring Cloud Alibaba整合Sentinel指南
过往的时光
java编程sentineljavaspringcloud
目录一、Sentinel核心功能概述1.控制台安装2.项目依赖配置三、详细整合步骤1.基础配置2.资源定义与保护3.与OpenFeign整合四、常见问题解决方案五、最佳实践案例1.流量控制场景2.熔断降级场景3.热点参数限流六、高级功能SpringCloudAlibaba整合Sentinel完整指南Sentinel是阿里巴巴开源的分布式系统流量防卫组件,而SpringCloudAlibaba提供了
- 互联网大厂Java面试:从Spring到微服务的深度剖析
场景:互联网大厂Java求职面试面试官(严肃):任先生,您好!我们先来聊聊SpringBoot吧,您能简单介绍一下它在微服务架构中的作用吗?任先生(搞笑):当然,SpringBoot嘛,就是一个神奇的框架,它能让开发变得非常简单,几乎就是“傻瓜式”操作,哈哈!面试官:很好,SpringBoot确实简化了很多配置,让微服务开发更为便捷。那么在微服务场景中,如何使用SpringCloud来实现服务发现
- Feign请求参数传递问题解决方案
在SpringCloudFeign中,FeignRequestInterceptor需要被注册为Spring的Bean才能生效,但不需要特定的注解标记拦截器本身。以下是详细说明:1.拦截器类本身不需要特殊注解FeignRequestInterceptor类本身是一个普通的Java类,实现RequestInterceptor接口即可,不需要添加特定注解:importfeign.RequestInte
- SpringCloud多个微服务场景下轻量级feignclient架构(架构图+代码实现)
Bling_
架构springcloud微服务springboothttp
目录1引入-多服务场景下如何配置feignclient2项目依赖关系树,类图3具体实施3.1db-api1)ResultResponse2)IUserApi、IGoodsApi、IOrderApi3)ApiFactory3.2projdb1)UserApi2)GoodsApi3)OrderApi3.3proj1/proj2/proj3上篇博客简单介绍了feignclient基本知识和使用方法,这篇
- Java领域Spring Cloud入门指南:快速搭建微服务架构
Java大师兄学大数据AI应用开发
架构javaspringcloudai
Java领域SpringCloud入门指南:快速搭建微服务架构关键词:SpringCloud、微服务架构、Java、快速搭建、入门指南摘要:本文旨在为Java开发者提供一份全面的SpringCloud入门指南,帮助读者快速搭建微服务架构。首先介绍SpringCloud的背景和相关核心概念,接着详细阐述核心算法原理和具体操作步骤,包括使用Python源代码示例辅助理解关键逻辑。深入讲解数学模型和公式
- 零基础深入SpringCloud架构搭建与源码解析第五节
Hsmiau
本文还有配套的精品资源,点击获取简介:本教程第五节深入讲解从零开始搭建SpringCloud项目,包括源码解析和实践操作。SpringCloud是一个微服务框架,利用SpringBoot简化Java应用的服务配置和管理,提供了服务发现、配置中心等核心功能。教程将介绍项目初始化、服务注册与发现、微服务创建、路由服务配置、断路器实现和测试验证的完整流程,通过源码解析和操作截图帮助学习者深刻理解其工作原
- 【GateWay】和权限验证
秋の花
gatewayjava
【GateWay】网关详解和权限验证一、Gateway核心概念与架构二、路由断言(RoutePredicates)详解三、过滤器(Filters)机制四、权限认证的核心理论模型五、SpringCloudGateway+Security+OAuth2集成方案六、OAuth2.0集成一、Gateway核心概念与架构SpringCloudGateway是基于Spring5.0、SpringBoot2.0
- Java求职者面试指南:微服务技术与源码原理深度解析
迢迢星万里灬
Java面试宝典Java面试指南微服务SpringCloudDubboNetty分布式系统
Java求职者面试指南:微服务技术与源码原理深度解析第一轮:基础概念问题1.请解释一下什么是微服务架构?微服务架构是一种将应用程序拆分为一组小型、独立的服务的软件开发方法。每个服务都运行在自己的进程中,并通过轻量级的通信机制(如HTTP或gRPC)进行通信。这种架构允许团队独立开发、部署和扩展服务,从而提高灵活性和可维护性。2.SpringCloud和Dubbo在微服务中的区别是什么?Spring
- Java中的服务发现与负载均衡详解_openfeign_springcloud_nacos
阿里-于怀
java服务发现负载均衡
微服务架构下的自动注册与发现在微服务架构中,服务注册与发现是关键组件,特别是在使用Java构建的分布式系统里。随着服务数量的增长,手动管理每个服务实例变得极其复杂且容易出错。自动化服务注册允许微服务在启动时自动向注册中心报告其地址和健康状态,而服务发现机制则使客户端能够动态地获取这些信息并实现负载均衡访问。这种自动化流程不仅减少了运维负担,还提高了系统的灵活性和可用性,确保了即使在服务频繁更新或扩
- Java中Spring Cloud如何实现服务发现与负载均衡
程序小先锋
javaspringcloud服务发现
在微服务架构中,服务发现与负载均衡是两个至关重要的概念。服务发现允许服务消费者动态地查找和定位服务提供者,而负载均衡则确保服务请求能够均匀地分发到各个服务提供者上,从而提高系统的可用性和性能。SpringCloud作为一个功能强大的微服务框架,为我们提供了优雅的服务发现与负载均衡机制。本文将深入探讨Java中SpringCloud如何实现服务发现与负载均衡。一、服务发现服务发现在微服务架构中扮演着
- SpringCloud Zookeeper:分布式协调与服务注册
程序媛学姐
Spring全家桶Java分布式springcloudzookeeper
文章目录引言一、Zookeeper基础二、环境准备2.1安装配置Zookeeper2.2添加Maven依赖三、服务注册与发现3.1服务注册配置3.2服务发现与调用四、分布式协调功能4.1分布式锁实现4.2领导者选举五、配置管理5.1基本配置5.2配置使用总结引言在微服务架构中,服务注册与发现是解决服务间通信的关键机制。SpringCloud提供了多种服务注册中心的实现,其中ApacheZookee
- Spring Boot整合Dubbo+Zookeeper实现RPC调用
Java布道者
java-zookeeperspringbootdubbo
技术栈说明Dubbo:Dubbo作为RPC框架,能在多个服务之间实现远程服务的调用。比如有两个独立的微服务A和B,A服务想要调用B服务时,因为两者不在同个内存空间中,不能直接调用,所以可以通过Dubbo实现这点。功能和SpringCloud的Feign相同,两者都是应用于微服务架构的远程调用框架Zookeeper:作为注册中心去管理Dubbo服务,这点和Eureka、Nacos相同。概述通过一个示
- Spring Cloud Alibaba 生态详解与实践
超级小忍
SpringCloudspringspringbootgatewaysentinel
一、博客简介本博客面向具有一定SpringBoot和微服务基础的开发者,旨在深入讲解SpringCloudAlibaba核心组件的使用与配置方法。我们将围绕以下三个核心组件展开详细说明:Sentinel:流量控制与熔断降级Gateway:统一的服务网关Seata:分布式事务管理通过实际的代码示例和项目案例,帮助你快速上手并掌握这些组件在微服务架构中的应用。二、SpringCloudAlibaba简
- jvm调优总结(从基本概念 到 深度优化)
oloz
javajvmjdk虚拟机应用服务器
JVM参数详解:http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html
Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。
- 【Scala十六】Scala核心十:柯里化函数
bit1129
scala
本篇文章重点说明什么是函数柯里化,这个语法现象的背后动机是什么,有什么样的应用场景,以及与部分应用函数(Partial Applied Function)之间的联系 1. 什么是柯里化函数
A way to write functions with multiple parameter lists. For instance
def f(x: Int)(y: Int) is a
- HashMap
dalan_123
java
HashMap在java中对很多人来说都是熟的;基于hash表的map接口的非同步实现。允许使用null和null键;同时不能保证元素的顺序;也就是从来都不保证其中的元素的顺序恒久不变。
1、数据结构
在java中,最基本的数据结构无外乎:数组 和 引用(指针),所有的数据结构都可以用这两个来构造,HashMap也不例外,归根到底HashMap就是一个链表散列的数据
- Java Swing如何实时刷新JTextArea,以显示刚才加append的内容
周凡杨
java更新swingJTextArea
在代码中执行完textArea.append("message")后,如果你想让这个更新立刻显示在界面上而不是等swing的主线程返回后刷新,我们一般会在该语句后调用textArea.invalidate()和textArea.repaint()。
问题是这个方法并不能有任何效果,textArea的内容没有任何变化,这或许是swing的一个bug,有一个笨拙的办法可以实现
- servlet或struts的Action处理ajax请求
g21121
servlet
其实处理ajax的请求非常简单,直接看代码就行了:
//如果用的是struts
//HttpServletResponse response = ServletActionContext.getResponse();
// 设置输出为文字流
response.setContentType("text/plain");
// 设置字符集
res
- FineReport的公式编辑框的语法简介
老A不折腾
finereport公式总结
FINEREPORT用到公式的地方非常多,单元格(以=开头的便被解析为公式),条件显示,数据字典,报表填报属性值定义,图表标题,轴定义,页眉页脚,甚至单元格的其他属性中的鼠标悬浮提示内容都可以写公式。
简单的说下自己感觉的公式要注意的几个地方:
1.if语句语法刚接触感觉比较奇怪,if(条件式子,值1,值2),if可以嵌套,if(条件式子1,值1,if(条件式子2,值2,值3)
- linux mysql 数据库乱码的解决办法
墙头上一根草
linuxmysql数据库乱码
linux 上mysql数据库区分大小写的配置
lower_case_table_names=1 1-不区分大小写 0-区分大小写
修改/etc/my.cnf 具体的修改内容如下:
[client]
default-character-set=utf8
[mysqld]
datadir=/var/lib/mysql
socket=/va
- 我的spring学习笔记6-ApplicationContext实例化的参数兼容思想
aijuans
Spring 3
ApplicationContext能读取多个Bean定义文件,方法是:
ApplicationContext appContext = new ClassPathXmlApplicationContext(
new String[]{“bean-config1.xml”,“bean-config2.xml”,“bean-config3.xml”,“bean-config4.xml
- mysql 基准测试之sysbench
annan211
基准测试mysql基准测试MySQL测试sysbench
1 执行如下命令,安装sysbench-0.5:
tar xzvf sysbench-0.5.tar.gz
cd sysbench-0.5
chmod +x autogen.sh
./autogen.sh
./configure --with-mysql --with-mysql-includes=/usr/local/mysql
- sql的复杂查询使用案列与技巧
百合不是茶
oraclesql函数数据分页合并查询
本片博客使用的数据库表是oracle中的scott用户表;
------------------- 自然连接查询
查询 smith 的上司(两种方法)
&
- 深入学习Thread类
bijian1013
javathread多线程java多线程
一. 线程的名字
下面来看一下Thread类的name属性,它的类型是String。它其实就是线程的名字。在Thread类中,有String getName()和void setName(String)两个方法用来设置和获取这个属性的值。
同时,Thr
- JSON串转换成Map以及如何转换到对应的数据类型
bijian1013
javafastjsonnet.sf.json
在实际开发中,难免会碰到JSON串转换成Map的情况,下面来看看这方面的实例。另外,由于fastjson只支持JDK1.5及以上版本,因此在JDK1.4的项目中可以采用net.sf.json来处理。
一.fastjson实例
JsonUtil.java
package com.study;
impor
- 【RPC框架HttpInvoker一】HttpInvoker:Spring自带RPC框架
bit1129
spring
HttpInvoker是Spring原生的RPC调用框架,HttpInvoker同Burlap和Hessian一样,提供了一致的服务Exporter以及客户端的服务代理工厂Bean,这篇文章主要是复制粘贴了Hessian与Spring集成一文,【RPC框架Hessian四】Hessian与Spring集成
在
【RPC框架Hessian二】Hessian 对象序列化和反序列化一文中
- 【Mahout二】基于Mahout CBayes算法的20newsgroup的脚本分析
bit1129
Mahout
#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information re
- nginx三种获取用户真实ip的方法
ronin47
随着nginx的迅速崛起,越来越多公司将apache更换成nginx. 同时也越来越多人使用nginx作为负载均衡, 并且代理前面可能还加上了CDN加速,但是随之也遇到一个问题:nginx如何获取用户的真实IP地址,如果后端是apache,请跳转到<apache获取用户真实IP地址>,如果是后端真实服务器是nginx,那么继续往下看。
实例环境: 用户IP 120.22.11.11
- java-判断二叉树是不是平衡
bylijinnan
java
参考了
http://zhedahht.blog.163.com/blog/static/25411174201142733927831/
但是用java来实现有一个问题。
由于Java无法像C那样“传递参数的地址,函数返回时能得到参数的值”,唯有新建一个辅助类:AuxClass
import ljn.help.*;
public class BalancedBTree {
- BeanUtils.copyProperties VS PropertyUtils.copyProperties
诸葛不亮
PropertyUtilsBeanUtils
BeanUtils.copyProperties VS PropertyUtils.copyProperties
作为两个bean属性copy的工具类,他们被广泛使用,同时也很容易误用,给人造成困然;比如:昨天发现同事在使用BeanUtils.copyProperties copy有integer类型属性的bean时,没有考虑到会将null转换为0,而后面的业
- [金融与信息安全]最简单的数据结构最安全
comsci
数据结构
现在最流行的数据库的数据存储文件都具有复杂的文件头格式,用操作系统的记事本软件是无法正常浏览的,这样的情况会有什么问题呢?
从信息安全的角度来看,如果我们数据库系统仅仅把这种格式的数据文件做异地备份,如果相同版本的所有数据库管理系统都同时被攻击,那么
- vi区段删除
Cwind
linuxvi区段删除
区段删除是编辑和分析一些冗长的配置文件或日志文件时比较常用的操作。简记下vi区段删除要点备忘。
vi概述
引文中并未将末行模式单独列为一种模式。单不单列并不重要,能区分命令模式与末行模式即可。
vi区段删除步骤:
1. 在末行模式下使用:set nu显示行号
非必须,随光标移动vi右下角也会显示行号,能够正确找到并记录删除开始行
- 清除tomcat缓存的方法总结
dashuaifu
tomcat缓存
用tomcat容器,大家可能会发现这样的问题,修改jsp文件后,但用IE打开 依然是以前的Jsp的页面。
出现这种现象的原因主要是tomcat缓存的原因。
解决办法如下:
在jsp文件头加上
<meta http-equiv="Expires" content="0"> <meta http-equiv="kiben&qu
- 不要盲目的在项目中使用LESS CSS
dcj3sjt126com
Webless
如果你还不知道LESS CSS是什么东西,可以看一下这篇文章,是我一朋友写给新人看的《CSS——LESS》
不可否认,LESS CSS是个强大的工具,它弥补了css没有变量、无法运算等一些“先天缺陷”,但它似乎给我一种错觉,就是为了功能而实现功能。
比如它的引用功能
?
.rounded_corners{
- [入门]更上一层楼
dcj3sjt126com
PHPyii2
更上一层楼
通篇阅读完整个“入门”部分,你就完成了一个完整 Yii 应用的创建。在此过程中你学到了如何实现一些常用功能,例如通过 HTML 表单从用户那获取数据,从数据库中获取数据并以分页形式显示。你还学到了如何通过 Gii 去自动生成代码。使用 Gii 生成代码把 Web 开发中多数繁杂的过程转化为仅仅填写几个表单就行。
本章将介绍一些有助于更好使用 Yii 的资源:
- Apache HttpClient使用详解
eksliang
httpclienthttp协议
Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会
- zxing二维码扫描功能
gundumw100
androidzxing
经常要用到二维码扫描功能
现给出示例代码
import com.google.zxing.WriterException;
import com.zxing.activity.CaptureActivity;
import com.zxing.encoding.EncodingHandler;
import android.app.Activity;
import an
- 纯HTML+CSS带说明的黄色导航菜单
ini
htmlWebhtml5csshovertree
HoverTree带说明的CSS菜单:纯HTML+CSS结构链接带说明的黄色导航
在线体验效果:http://hovertree.com/texiao/css/1.htm代码如下,保存到HTML文件可以看到效果:
<!DOCTYPE html >
<html >
<head>
<title>HoverTree
- fastjson初始化对性能的影响
kane_xie
fastjson序列化
之前在项目中序列化是用thrift,性能一般,而且需要用编译器生成新的类,在序列化和反序列化的时候感觉很繁琐,因此想转到json阵营。对比了jackson,gson等框架之后,决定用fastjson,为什么呢,因为看名字感觉很快。。。
网上的说法:
fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。
- 基于Mybatis封装的增删改查实现通用自动化sql
mengqingyu
DAO
1.基于map或javaBean的增删改查可实现不写dao接口和实现类以及xml,有效的提高开发速度。
2.支持自定义注解包括主键生成、列重复验证、列名、表名等
3.支持批量插入、批量更新、批量删除
<bean id="dynamicSqlSessionTemplate" class="com.mqy.mybatis.support.Dynamic
- js控制input输入框的方法封装(数字,中文,字母,浮点数等)
qifeifei
javascript js
在项目开发的时候,经常有一些输入框,控制输入的格式,而不是等输入好了再去检查格式,格式错了就报错,体验不好。 /** 数字,中文,字母,浮点数(+/-/.) 类型输入限制,只要在input标签上加上 jInput="number,chinese,alphabet,floating" 备注:floating属性只能单独用*/
funct
- java 计时器应用
tangqi609567707
javatimer
mport java.util.TimerTask; import java.util.Calendar; public class MyTask extends TimerTask { private static final int
- erlang输出调用栈信息
wudixiaotie
erlang
在erlang otp的开发中,如果调用第三方的应用,会有有些错误会不打印栈信息,因为有可能第三方应用会catch然后输出自己的错误信息,所以对排查bug有很大的阻碍,这样就要求我们自己打印调用的栈信息。用这个函数:erlang:process_display (self (), backtrace).需要注意这个函数只会输出到标准错误输出。
也可以用这个函数:erlang:get_s