java web
文章平均质量分 60
java web 框架相关知识
LiZhen798
软件研发工程师
语言:Java,Go
展开
-
springboot项目yml文件中${}的使用
如果启动项目是传入了SERVER_PORT值时,会优先使用传入的值作为端口号启动项目,如果没有传该环境变量的值时,就使用9600作为项目端口号;可以看到虽然配置文件中虽然还是9600,但是项目启动的端口号是使用刚才配置的9601来启动的;项目启动时可以灵活的通过修改环境变量来替换配置中的值,如果没有传该环境变量时,就是用默认值;可以看到使用的默认值9600端口启动的项目;到此就将端口号换成了9601了,来看看效果。在idea中修改环境变量。没有进行环境变量配置。原创 2024-03-21 11:31:42 · 1055 阅读 · 0 评论 -
java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @Context
解决方案:注解上加上@SpringBootTest(classes = 注入的类.class)如下运行正常原创 2022-03-01 17:48:27 · 273 阅读 · 0 评论 -
idea2021版本后项目运行报错——Error running xxx : Command line is too long.Shorten command line ..解决方法
在IDEA 运行有时会报:错误原因 出现这个的原因一般是因为项目需要打印的环境变量太长,超过了限制,需要你缩短命令行来解决问题。解决方法:2021版本前的修改此次就可以了2021版本开始1、找到项目里面的idea/workspace.xml文件。2、找到<component name="PropertiesComponent"></component >标签。再在component 标签里加一行 <property name="dyn..原创 2021-11-17 15:56:55 · 4923 阅读 · 0 评论 -
SpringCloud的@LoadBalanced注解使用的理解
在使用springcloud ribbon客户端负载均衡的时候,可以给RestTemplate bean 加一个@LoadBalanced注解,就能让这个RestTemplate在请求时拥有客户端负载均衡的能力:@Bean@LoadBalanced //开启负载均衡的功能RestTemplate restTemplate() { return new RestTemplate();}@LoadBalanced的注解源码:/** * Annotation to mark a原创 2021-08-26 18:24:27 · 714 阅读 · 0 评论 -
后端架构师技术图谱
目录数据结构队列集合链表、数组字典、关联数组栈树二叉树完全二叉树平衡二叉树二叉查找树(BST)红黑树B,B+,B*树LSM 树BitSet常用算法排序、查找算法选择排序冒泡排序插入排序快速排序归并排序希尔排序堆排序计数排序桶排序基数排序二分查找Java 中的排序工具布隆过滤器字符串比较KMP 算法深度优先、广度优先贪心算法回溯算法剪枝算法动态规划朴素贝叶斯原创 2021-03-25 16:36:27 · 2457 阅读 · 2 评论 -
消息队列
一、什么是消息队列以下为虚构的小故事:有一天,产品跑来跟小王说:“我们要做一个用户实名的功能,需要在用户实名成功后给用户发一条短信。”小王(攻城狮level1):“好的,这个需求简单。” ,小王直接调用了XX实名接口,实名成功后,同时调起触达服务给该用户发短信,待短信发送成功后,页面就会响应用户操作成功。没一会功夫,代码写完并测试成功,就发布上线了。线上正常运行了一段时间,产品又匆匆地跑来说:“你做的功能不行啊,客服反馈实名操作响应太慢,已经有好多用户流失了。”小王听得一身冷汗,赶紧.原创 2021-03-25 16:11:09 · 1469 阅读 · 0 评论 -
拦截器和过滤器的区别
目录过滤器和拦截器的区别:触发时机总结过滤器和拦截器的区别:拦截器是基于java的反射机制的,而过滤器是基于函数回调。 拦截器不依赖与servlet容器,过滤器依赖与servlet容器。 拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。 拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。 在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次。 拦截器可以获取IOC容器中的各个bean,而过滤器就不行,原创 2021-03-11 20:18:21 · 93 阅读 · 0 评论 -
深入浅出Java类加载过程(清晰直白)
当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现这个类进行初始化。1.加载加载,是指Java虚拟机查找字节流(查找.class文件),并且根据字节流创建java.lang.Class对象的过程。这个过程,将类的.class文件中的二进制数据读入内存,放在运行时区域的方法区内。然后在堆中创建java.lang.Class对象,用来封装类在方法...原创 2020-04-24 20:23:28 · 474 阅读 · 0 评论 -
java web项目前后端分离的跨域问题CORS
目录1:前后端分离:2:前后端分离的好处:3:跨域问题存在的原因:4:跨域问题的解决方案CORS:4.1、在web.xml中配置4.2、通过WebMvcConfigurer###4.3 自定义Filter1:前后端分离:前后端分离并不只是开发模式,而是web应用的一种架构模式。在开发阶段,前后端工程师约定好数据交互接口,实现并行开发和测试;在运行阶段前后...原创 2020-03-06 12:07:38 · 650 阅读 · 0 评论 -
HTTP消息头(HTTP headers)-常用的HTTP请求头与响应头
HTTP消息头是指,在超文本传输协议( Hypertext Transfer Protocol ,HTTP)的请求和响应消息中,协议头部分的那些组件。HTTP消息头用来准确描述正在获取的资源、服务器或者客户端的行为,定义了HTTP事务中的具体操作参数。关于HTTP消息头 常用的HTTP请求头 常用的HTTP响应头1. 关于HTTP消息头HTTP消息头是在,客户端请求(Reque...转载 2020-03-06 11:44:57 · 1513 阅读 · 0 评论 -
tomcat 开启远程调试(debugger)
本文是在linux,mac操作系统下面的操作教程,如是window操作系统,操作基本相同,请自行摸索。1.进入部署程序的tomcat目录下面的bin目录2.用vim打开catalina.sh3.在开头注释结束的位置添加如下的代码:address=8787是tomcat开始远程debug的端口,如果冲突则自行调整8015端口如果冲突也请修改DEBUG_OPT...原创 2020-01-06 21:26:10 · 2542 阅读 · 0 评论 -
使用@Transactional 注意一下几点
这里面有几点需要大家留意:A. 一个功能是否要事务,必须纳入设计、编码考虑。不能仅仅完成了基本功能就ok。B. 如果加了事务,必须做好开发环境测试(测试环境也尽量触发异常、测试回滚),确保事务生效。C. 以下列了事务使用过程的注意事项,请大家留意。1. 不要在接口上声明@Transactional ,而要在具体类的方法上使用 @Transactional 注解,否则注解可能无效。2.不要...转载 2019-11-25 19:42:40 · 294 阅读 · 0 评论 -
@Autowired与@Resource区别
1、@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上。 2、@Autowired默认按类型装配(这个注解是属业spring的),默认情况下必须要求依赖对象必须存在,如果要允许null 值,可以设置它的required属性为false,如:@Autowired(required=false) ,如果我们想使用名称装配可以结合@Qualif...原创 2017-06-26 21:40:08 · 248 阅读 · 0 评论 -
Spring Aop
0、AOP实现原理面向方面编程(Aspect Oriented Programming,简称AOP)是一种声明式编程(Declarative Programming)。AOP的实现原理可以看作是Proxy/Decorator设计模式的泛化,如下为Proxy模式的简单例子:Java代码 Proxy { innerObject; // 真正的对象 f1()...转载 2017-06-24 17:11:44 · 326 阅读 · 0 评论 -
mybatis传入混合参数(多个不同类型的参数)
当调用接口: [java] view plain copypublic List<User> selectUserInIDs(List<Integer> ids,String name); userMapper.xml的书写应该为: [html] view plain copy<select id="selectUserInIDs" ...转载 2017-12-21 19:24:56 · 6527 阅读 · 0 评论 -
使用jstl保留两位小数
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> <fmt:formatNumber type="number" value="${ }" pattern="0.00" maxFractionDigits="2"/>原创 2017-07-09 11:23:35 · 663 阅读 · 0 评论 -
Apache和Tomcat有什么不同,为什么要整合Apache和Tomcat
1. Apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet容器,是Apache的扩展。 2. Apache和Tomcat都可以做为独立的web服务器来运行,但是Apache不能解释java程序(jsp,serverlet)。 3. Apache是普通服务器,本身只支持html即普通网页。不过可以通过插件支持php,还可以与Tomcat连通(单向Apache连接...转载 2017-05-26 19:54:55 · 445 阅读 · 0 评论 -
java网络通信编程
首先声明一下,刚开始学习java网络通信编程就对他有一种畏惧感,因为自己对网络一窍不通,所以。。。呵呵。。你懂得,昨天又仔细的学习了一遍,感觉其实java网络编程也没想象的那么难,不信,咱一起看看。。。呵呵。。 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据。程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的数据,这个就是狭义的网络编程范畴。在发送和接收数据时...转载 2018-04-20 16:00:39 · 238 阅读 · 0 评论 -
tomcat设置https端口时,8443和443区别:
tomcat设置https端口时,8443和443区别:1. 8443端口在访问时需要加端口号,相当于http的8080,不可通过域名直接访问,需要加上端口号;https://yuming.com:8443。2. 443端口在访问时不需要加端口号,相当于http的80,可通过域名直接访问;例:https://yuming.com。*问:https使用域名访问网站,而不显示端口号? ...转载 2019-01-22 11:48:37 · 2370 阅读 · 0 评论 -
命令行把java项目打成jar包
工作中需要把jenkin-client项目打成jar包使用。以下为在命令行用jar命令打包,记录一下:切换到项目路径,执行 jar cf jenkin-client.jar java-client-api (jenkin-client.jar : 打包完之后的命名(自定义)java-client-api :需打包的项目名)截图:...原创 2019-04-21 18:41:43 · 7048 阅读 · 0 评论 -
org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction
org.hibernate.StaleObjectStateException:Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [com.xx.xx:11]说明操作的对象时应用了乐观锁机制,或定义pojo时定义了version字段.错误原因:当在进行...转载 2019-06-20 16:45:17 · 4048 阅读 · 0 评论 -
@Controller和@RestController的区别?
@Controller和@RestController的区别?官方文档:@RestController is a stereotype annotation that combines @ResponseBody and @Controller.意思是:@RestController注解相当于@ResponseBody + @Controller合在一起的作用。 ...转载 2017-12-28 10:16:33 · 152 阅读 · 0 评论