- 博客(20)
- 收藏
- 关注
原创 编程感悟:面向对象之抽象
设计设计架构的核心能力就是抽象,整体思想就是根据需求,先有个可行的业务逻辑思想,在这个思想下再进行具体实践。架构搭建完毕后,基本就是程序具体实现设计,例如根据一个小需求(功能)设计一个对应功能,从数据库设计到具体业务逻辑实现,在这整个实现的过程中。在业务逻辑思想的指导下,进行程序架构的搭建,程序架构搭建就是整体架构设计,这个本质也是用抽象思维将数据程序化流转进行设计;成公共可使用的工具,进而实现重用的价值,所以我们在Java程序设计中,封装调用达到重用解耦的目的,实现的本质核心就是。
2025-01-10 11:21:03
154
原创 编码感悟:
这各个阶段操作最典型就是:Java中的拦截器,拦截在输入流到输出流的路程中间,然后进行一系列操作,然后至于是返回还是继续后续执行,看实际需求,如果需要返回,则调用此拦截器方法即可,继续执行也是,调用此拦截器方法就可拿到自己要的结果,这也就体现了Java工具类的特性,如方法封装,调用等等;作为一名Java小学生,今天设计业务流程时忽然顿悟,所谓编程,所谓设计编程就是对一整条数据流进行各个阶段的操作,直到数据流输出时是自己想要的结果。
2024-11-06 11:01:54
104
原创 IDEA启动项目报错:Error running NutritionDiagnosisApplication. Command line is too long. Shorten the comman
原因:项目依赖的库或模块太多,导致命令行参数超过了操作系统允许的最大长度。解决:IDEA版本2023。3,选择“缩短命令行”
2024-06-14 10:59:41
576
原创 IDEA启动项目报错:java: java.lang.OutOfMemoryError: Java heap space
然后再选择Maven下的Runner(不知道Maven选项在哪的话在点击完Settings弹出框的最上面搜索框中输入maven即可),在右侧VM Options中填入参数:-Xms256m -Xmx1024m,然后点击Apply,OK即可。IDEA左上角File,Setting,Compiler,在右侧弹出框中选Shared build process head size(Mbytes): 700(默认),修改为 1400,点击右下角Apply。
2024-06-14 10:47:06
4777
4
原创 基本数据类型自动转换和强制转换相关面试题
从小到大依次:byte(8) short(16) int(32) long(64)从小到大转换会自动转换,例如:byte b = 1;这里将byte类型赋值给int,实现了由小到大自动类型转换(隐式);一个较小的数据类型时,编译器会自动进行这个类型转换,而不会报错。常量表达式优化:确定常量,安全赋值,则自动转换。一个算术表达式或逻辑表达式的值是一个。Java有一个特殊的规则,称为“当编译器在编译时能够。
2024-06-13 10:07:24
212
原创 SpringSecurity的几个核心过滤器链
这个过程主要是比对请求所需的角色和用户已有的角色,如果匹配则允许访问,否则拒绝。1,Username Password Authentication Filter是Spring Security提供的默认身份验证过滤器,它负责监听POST请求的"/login"路径,接收用户提交的用户名和密码等凭证。1,用户凭据传递:在基本认证过程中,前端应用程序会将用户的凭据(用户名和密码)进行Base64编码,并将编码后的字符串添加到HTTP请求的Authorization头部中。
2024-06-12 22:41:41
1325
原创 SpringBoot项目报错:LoggerFactory is not a Logback LoggerContext but Logback is on the classpath
插件,在IDEA的setting中找见Plugins下载安装,重启IDEA,重启后选中你要查看的pom文件,右键,选择:Dependency Analyzer,然后所有的依赖传递都会显示出来,再搜索框搜索你需要搜索的,如我这里slf4j,搜索见之后,点击,右侧就会出现对应的封装的相关依赖,再回到pom文件中找见对应的依赖,在依赖下加入上述依赖排除标签即可。分析:项目中有些依赖底层会封装此日志依赖,所以使用了封装了此依赖的依赖,虽然没有主动加slf4j依赖,也会报日志冲突的相关错误;一,移除slf4j;
2024-06-11 17:08:09
1779
1
原创 Windows版本Nginx域名访问问题
找见对应前端工程,将其中带/static的路径全部整改,例如/static/css/xxx等改成/css/xxx,基本报错静态文件分为三个文件,img,css,plugin;修改完成之后,重启nginx,找见nginx对应目录,文件夹地址栏输入cmd,进入命令窗口,输入nginx.exe -s reload,重启之后发现域名还是访问不到;配置完nginx.conf中的域名:www.xuecheng.com,然后启动nginx,本地访问localhost是可以访问到的,但是使用域名访问就不行;
2024-03-02 01:16:09
781
原创 @CrossOrigin注解加在方法上不起作用的原因及解决办法
但目前是只有方法上有@CroessOrigin注解,而类上没有,所以整个controller中的所有方法会受到跨域问题影响,只在某个方法上加@CroessOrigin注解,按照spring中的“具体方法优先”原则,它要覆盖类级别配置,但是此时类上没有相关配置,所以导致具体方法上的@CroessOrigin注解失效。在controller中的某个方法上加,按照Spring的具体方法优先原则,会优先执行此方法上的注解配置,即具体方法覆盖类级别配置(类上有配置);CORS的默认策略是整个controller类;
2024-01-30 19:20:16
1724
1
原创 使用<script/>就报引入错误,而使用<script></script>就不报错原因
`是XHTML中的自闭合标签写法,用于将HTML更符合XML语法规范,它的使用方式与其他自闭合标签(如``、``)相似。因此,一些浏览器可能无法正确解析``标签,导致引入错误。``标签是HTML的标准标签,被所有主流浏览器支持。它可以包含内联的JavaScript代码,也可以通过`src`属性引入外部的JavaScript文件。为了避免兼容性问题,建议始终使用`
2024-01-24 12:46:17
770
1
原创 最新版阿里大于短信服务封装工具类方法
这里创建用户生成AK和SK则是个体,我们如果短信服务中使用全局AK,一旦泄密,则威胁我们阿里账号中财产安全及其它服务,所以我们创建个体用户,进行短信授权,代码API中使用此用户的AK即可,因为只授权短信服务给此用户,所以此用户AK不涉及其它权限;7,申请签名,这里需注意,签名有类型,类型选择“学习和测试”只能对授权手机发送短息,但审核通过比较快速简单,线上和其它类型可进行普发,不过审核更为严格,不好通过;5,选择国内信息或者国际都可,本文是选择国内进行操作的;9,访问控制,创建用户,授权;
2024-01-23 20:46:44
936
1
原创 解决SpringBoot在IDEA中热部署失效问题
并且我们按照网上方法在File | Settings | Build, Execution, Deployment | Compiler目录下Build project automatically 点了对勾也不行;即项目正在启动中,修改了配置文件中某个值或者添加了某个方法或者修改了某个方法参数,在不用重新启动项目的情况下,刷新页面等即可实现实时更新内容;最常见当属1加入依赖模式也是最简单的,但是往往加入依赖之后,热部署不起作用,而在Eclipse中起作用;IDEA中没有启用自动部署编译功能,需要手动启动;
2024-01-20 17:44:19
980
原创 xmlns:amq=“http://activemq.apache.org/schema/core“报红处理方式
IDEA中点击右上角选择File | Settings | Languages & Frameworks | Schemas and DTDs(这是选择目录步骤)报错:URI is not registered。中文翻译:统一资源标识符没有注册,即找不到资源;通过报错我们可知原因就是找不见对应jar包;两种处理方式根据自己需要选择处理。之后点击确定,进入第5步,即可。第4步点击加号放进爆红的。
2024-01-19 12:59:35
528
1
原创 list==null不报空指针list.isEmpty()报空指针
而list.isEmpty(),在上述描述中创建list,内存空间开辟list空间,此时list空间什么都没有,但是你要list空间中的isEmpty方法,那么isEmpty必然不存在,必然抛出空指针;list本身创建在内存空间中已经申请开辟出空间,这个空间可以没有任何方法属性,就是属于null状态,但是此空间已经存在,属于list;而list.isEmpty()就是list对象的属性方法,且这时list为null,正好符合空指针异常抛出条件。空指针的抛出是对为Null对象的属性方法进行访问时抛出,
2024-01-11 18:51:29
1015
1
原创 Gateway网关(面试必问)
上面的就是路由方面配置,在spring cloud gateway中有专门的谓词工厂对路由规则进行了相关处理,共计11种,大家可以根据上述提供的官网地址进行查看,这里就不展开说明了。这里官网的解释用的“这些”这个词,因为它不是一个是一组,即过滤器链,这些过滤器主要用于过滤并处理请求,类似于springMVC的web过滤器。在单体架构中,服务调用很简单,不用过多处理,但是在微服务中,服务调用比较麻烦,因为有可能每个服务的语言和使用协议不同,所以得使用网关进行相关处理;如果聚合谓词为真,则匹配路由。
2023-12-19 21:12:53
821
1
原创 面试必问(框架+架构)
1,用户发送请求到前端核心控制器DispatcherServlet,即中央控制器;2,由DispatcherServlet控制器通过配置文件xxxServlet.xml文件寻找到一个或多个处理器映射器HandlerMapping,通过HandlerMapping找到具体处理器,生成处理器对象返回给DispatcherServlet;3,DispatcherServlet调用HandlerAdapter处理器适配器;
2023-11-29 16:03:12
281
1
原创 架构心得day02
Java中,聚合工程是指将多个项目或模块组合到一个父项目中,以便更好的管理和构建这些项目。Java中构建聚合工程通常使用Maven构建工具。
2023-11-14 20:10:33
193
1
原创 架构心得day01
ESB:企业服务总线(Enterprise Service Bus,ESB),是一种架构模式,此处,集中的软件组件会执行应用之间的集成。SOA架构则是表现层不直接依赖服务层,而是通过分布式治理方案如DUBBO框架等实现网络调用,具体表现为:controller中调用中间框架服务,例如dobbo中已注册的服务。2,垂直架构在编译工具中的工程体现为一个服务进行分层,例如,最常见的一个springboot服务中分为contoller、service、dao,然后互相注入实现调用;这其中的多个计算机就是集群形式。
2023-11-09 19:22:17
143
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人