搜索内容

包含标签:spring 的文章
  • MultipartFile流读取问题
    其他

    MultipartFile流读取问题

    MultipartFile支持可重复读 跟进源码: 跟进getInputStream()方法实现类StandardMultipartFile(其为StandardMultipartHttpServletRequest类的静态内部类) 跟进part类以及其实现类的方法 跟进fileItem类的方法 继续跟进 如上图,先判断该流是否在内存中,如果不是则在本地(可调试看文件位置),然后新建文件流返回,如果在内存,则新建字节流,其cachedContent参数为原流转成的byte[]数组,因此可重复读。 深入探究其判断是否在内存中方法isInMemory(),跟进发现 对比阈值threshold与当前读位置written,这里理解不是很全,需进一步探究。 注:1.System.arraycopy()为浅复制。 2.ByteArrayInputStream的读是线程安全的(synchronized)。
    admin 今天
  • spring cloud + nacos + feign调用
    其他

    spring cloud + nacos + feign调用

    //by yan 20211119 需求: 简单建个项目,用来测试调用注册在nacos的服务接口。 步骤: idea -> new project-> Spring Initializr 踩坑: 1、开始是maven包引入报错。修改各种配置 pom repositories 、 maven 配置等,有时还要删除项目.idea重启idea。总结大多是maven的版本问题。最后都是使用idea 自带版本 “Bundled (Maven 3)” 就ok。 2、spring boot 和spring cloud 版本问题 spring boot 和spring cloud 版本必须对应。这个其实用Spring Initializr向导创建的项目,生成的pom.xml就可保证这点了。 3、SpringCloud OpenFeign报错:No Feign Client for loadBalancing de
    admin 今天
  • Command line is too long. Shorten command line for ServiceStarter or also for Application
    其他

    Command line is too long. Shorten command line for ServiceStarter or also for Application

    idea解决Command line is too long. Shorten command line for ServiceStarter or also for Application报错 找到 .idea\workspace.xml; 找到,在里面添加即可
    admin 今天
  • Java锁机制 & Syncronize锁优化
    其他

    Java锁机制 & Syncronize锁优化

    1.什么是锁? 可以参考,美团技术团队《不可不说的Java“锁”事》 多个线程在竞争一个资源的时候,需要锁机制进行确保资源的使用权。当一个线程占有资源时,其他线程需要阻塞等待(如上图所示) Java是怎样实现锁机制的? 线程共享的区域为:堆 + 方法区 (1)Java堆:所有线程共享的一块内存区域,此内存区域最主要的目的是:存放对象实例,几乎所有对象实例都是在这里分配内存。 (2)方法区:与Java堆一样,是各个线程共享的内存区域,他用于存储被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。 针对线程共享的数据(堆中的对象)多个线程在修改同个对象的时候就会产生并发问题。 问题1:你们知道的Java锁机制哪些方法呢?(这个问题某凯不应该不会吧?) Synchronized锁以及 Synchronized优化锁升级 先看一段代码 public class A { priva
    admin 今天
  • Java Platform Standard Edition 8 Documentation
    其他

    Java Platform Standard Edition 8 Documentation

    JDKJava Language Java LanguageTools &Tool APIs javajavacjavadocjarjavapjdepsScriptingSecurityMonitoringJConsoleVisualVMJMCJFRJPDAJVM TIIDLRMIJava DBDeploymentInternationalizationWeb ServicesTroubleshootingJREDeployment Java Web StartApplet / Java Plug-inUser InterfaceToolkits JavaFX SwingJava 2DAWTAccessibilityDrag and DropInput MethodsImage I/OPrint ServiceSoundJava SEAPIIntegrationLibraries IDLJDBCJNDIRMIRMI-IIOPScriptingCompactProfilesOther B
    admin 今天
  • gradle项目打包报:注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
    其他

    gradle项目打包报:注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。

    报错详情 InterfaceLogAspect.java使用或覆盖了已过时的 API。 注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。 原因解决 InterfaceLogAspect类中有过时的api 去掉过时的重新打包
    admin 今天
  • spring-boot-devtools热部署引发的ClassCastException类转化问题
    其他

    spring-boot-devtools热部署引发的ClassCastException类转化问题

    问题描述 最近在使用若依进行开发时遇到一个问题 java.lang.ClassCastException: com.ruoyi.project.system.role.domain.Role cannot be cast to com.ruoyi.project.system.role.domain.Role 问题排查 相同的类为什么会说转化问题呢,第一想到的类没扫描到,但查看发现没问题,于是进行debug,在debug排查中发现,类加载器不同导致的。 部署devtools pom.xml中添加依赖 org.springframework.boot spring-boot-devtools true
    admin 今天
  • 可刷新和不可刷新的ApplicationContext详解
    其他

    可刷新和不可刷新的ApplicationContext详解

    public class Main { public static void main(String[] args) { /* ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring.xml");*/ AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(config.class); applicationContext.refresh(); System.out.println(applicationContext.getBean("user")); } } 报错  public class Main { public static void main(String
    admin 今天
  • Java 反序列化的自定义表达式解析实现
    其他

    Java 反序列化的自定义表达式解析实现

    简介:        通过SPEL 和 fastjson 配合使用,指定JSON中字段解析的表达式,实现指定字段按照指定表达式填充的效果。        以使用三目运算符指定解析为例,代码如下。 首先,定义字段的反序列化解析类 SpelExpressDeserializer import java.lang.reflect.Type; import org.springframework.expression.Expression; import org.springframework.expression.ExpressionParser; import org.springframework.expression.spel.standard.SpelExpressionParser; import org.springframework.expression.spel.support.StandardEvaluationContext; import org.springframework.util.StringUtils; i
    admin 今天
  • zookeeper+dubbo+springboot整合步骤
    其他

    zookeeper+dubbo+springboot整合步骤

    1、首先、引入相关依赖 org.springframework.boot spring-boot-starter-parent 2.6.0 org.apache.dubbo dubbo-spring-boot-starter 3.0.4 org.apache.zoo
    admin 今天
  • JDBC连接Oracle高级详细攻略 (存储过程 元数据 事务 批处理)
    其他

    JDBC连接Oracle高级详细攻略 (存储过程 元数据 事务 批处理)

    Jdbc实现增删改查操作步骤 (java database connection ) 引入jar包 准备sql语句      String sql=”select|insert|update|delete”; 加载jdbc驱动类      Class.forName(oracleClass);      oracleClass=”oracle.jdbc.Driver.OracleDriver”; 创建连接对象,与数据库建立连接      Connection conn=DriverManager.getConnection(url,uname,pwd);       url=”jdbc:oracle:thin:@localhost:1521:orcl”;       uname=”scott”;       pwd=”tiger”; 创建命令对象,发送sql语句      PreparedStatement psmt=conn.prepareStatement(sql);       //如果sql有占位符?,设置占位符
    admin 今天
  • Spring学习笔记—–Spring的请求与数据绑定
    其他

    Spring学习笔记—–Spring的请求与数据绑定

    这里写目录标题 获得请求参数基本类型参数POJO类型参数数组类型参数集合类型参数参数绑定注解@RequestParam自定义类型转换器 请求数据乱码解决方案 获得请求参数 客户端请求参数的格式是:name=value&name=value… 服务器端要获得请求的参数,有时还需要进行数据的封装,SpringMVC可以接收如下类型的参数: 基本类型参数 Controller中的业务方法的参数名称要与请求参数name一致,参数值会自动映射匹配。 @RequestMapping("/save6")//注解里的参数写客户端访问该方法的路径 @ResponseBody //告诉spring这里不跳转页面而是以http响应体的方式进行数据响应 public void save6(String username, int age) { System.out.pr
    admin 今天
  • Spring Security Oauth2记录(一)
    其他

    Spring Security Oauth2记录(一)

    前言 ​ 由于公司要求使用Spring-Security-Oauth2快速搭建一套账号中心,此版本为初级版本,仅为作为记录学习下Spring-Security-Oauth2的原理和快速搭建。 开发前准备 ​ 在快速搭建之前首先要弄明白Oauth2是什么,大概的运行流程是怎么样子的,而Security是一套Spirng提供的一套安全框架,这个没有接触到的小伙伴可以在这里停住了,由于我已经大概了解是怎么用的,这里就不再过多逼逼。 Oauth简单理解 ​ 首先呢Oauth2是一种关于授权的开放网络标准,在讲解运行流程前需要了解几个专用名词 Third-party application:第三方应用程序 HTTP service:HTTP服务提供商 Resource Owner:资源所有者(用户) User Agent:用户代理(浏览器) Authorization server:认证服
    admin 今天
  • 数据库三范式是什么?(3NF详解)
    其他

    数据库三范式是什么?(3NF详解)

    什么是范式? 范式是数据库设计时遵循的一种规范,不同的规范要求遵循不同的范式。 最常用的三大范式 第一范式(1NF):属性不可分割,即每个属性都是不可分割的原子项。(实体的属性即表中的列) 第二范式(2NF):满足第一范式;且不存在部分依赖,即非主属性必须完全依赖于主属性。(主属性即主键;完全依赖是针对于联合主键的情况,非主键列不能只依赖于主键的一部分) 第三范式(3NF):满足第二范式;且不存在传递依赖,即非主属性不能与非主属性之间有依赖关系,非主属性必须直接依赖于主属性,不能间接依赖主属性。(A -> B, B ->C, A -> C) 举例说明3NF: 1NF 属性不可再分,即表中的每个列都不可以再进行拆分。 如下学生信息表(student): id、name(姓名)、sex_code(性别代号)、sex_desc(性别描述)、contact(联系方式) primary key(id)
    admin 今天
  • Spring注解
    其他

    Spring注解

    1、@Data @Data 注解的主要作用是提高代码的简洁,使用这个注解可以省去代码中大量的get()、 set()、 toString()等方法; @Data @AllArgsConstructor @NoArgsConstructor public class Person { private String name; private String address; private Integer age; private String hobbit; private String phone; } 常用的几个注解: @Data : 注在类上,提供类的get、set、equals、hashCode、canEqual、toString方法 @AllArgsConstructor : 注在类上,提供类的全参构造 @NoArgsConstructor : 注在类上,提
    admin 今天
  • spring boot 中调用存储过程失败问题
    其他

    spring boot 中调用存储过程失败问题

    记录一下问题的解决过程:症状描述: 使用jdbcTemplate.execute调用mysql的存储过程,报错: io.shardingsphere.core.parsing.parser.exception.SQLParsingUnsupportedException: Not supported token 'IDENTIFIER'. 修改为使用mybatis调用存储过程,同样报错: java.sql.SQLFeatureNotSupportedException: prepareCall 实在没办法了。找了好几天资料也没有解决。最后看到mysql里面有个“事件”,反正我的这个存储过程是需要定时执行的一个存储过程,这个东西能不能用的上? 编写事件的生成sql,在查询分析器里面执行: CREATE EVENT IF NOT EXISTS event_totaltaskofdept ON SCHEDULE EVERY 1 HOUR ON COMPLETION PRESERVE COMMENT '生成双高任务各部门完成情况统
    admin 今天
  • AnnotationConfigApplicationContext
    其他

    AnnotationConfigApplicationContext

        public class Main { public static void main(String[] args) { /* ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring.xml");*/ AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext("spring.xml"); System.out.println(applicationContext.getBean("user1")); } } 发现报错:  config.class public class config { @Bean public User user(){ return new
    admin 今天
  • org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘multipartRes
    其他

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘multipartRes

     org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'multipartResolver': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [org.springframework.web.multipart.commons.CommonsMultipartResolver] from ClassLoader [ParallelWebappClassLoader   context: javaWebRedis   delegate: false ----------> Parent Classloader: java.net.URLClassLoader@27f8302d 解决方法, 这个报错一般都是配置了CommonsMultipartRe
    admin 今天
  • nacos启动失败解决
    其他

    nacos启动失败解决

    原文
    admin 今天
  • 开发文档–编程规约
    其他

    开发文档–编程规约

    开发文档--编程规约 命名风格常量定义代码格式OOP规约 Object Oriented Programming集合处理并发处理控制语句注释规约日期和时间前后端制约其他 命名风格 【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。 反例:_name / name / n a m e / n a
    admin 今天
  • SpringBoot初始化加载配置的七种方式
    其他

    SpringBoot初始化加载配置的七种方式

    背景 在日常开发时,我们常常需要 在SpringBoot 应用启动时执行某一段逻辑,如下面的场景: 获取一些当前环境的配置或变量。向数据库写入一些初始数据。连接某些第三方系统,确认对方可以工作。 在实现这些功能时,我们可能会遇到一些"坑"。 为了利用SpringBoot框架的便利性,我们不得不将整个应用的执行控制权交给容器,于是造成了大家对于细节是一无所知的。 那么在实现初始化逻辑代码时就需要小心了,比如,我们并不能简单的将初始化逻辑在Bean类的构造方法中实现,类似下面的代码: @Component public class InvalidInitExampleBean { @Autowired private Environment env; public InvalidInitExampleBean() { env.getActiveProfiles(
    admin 今天
  • Spring AOP 在注解上使用SPEL表达式注入对象
    其他

    Spring AOP 在注解上使用SPEL表达式注入对象

    场景描述 在平时开发中,我们经常通过定义一些注解,进行轻量级开发。今天主要研究的内容是关于如何在注解上通过spel表达式注入对象,以此调用注入对象的具体业务处理逻辑,然后在通过对表达式的解析,进而获取该业务逻辑处理的结果,类似于Spring Security中的@PreAuthorize, @PreAuthorize, @PostAuthorize等注解,本次场景案例以模仿@PreAuthorize注解进行分析。 具体案例 定义@SpelPreAuthorize注解,对标@PreAuthorize @Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface SpelPreAuthorize { String value() default ""; } 定义具体业
    admin 今天
  • 使用aop、类反射机制、动态代理截获jpa标签@query内容实现适配器(实例)
    其他

    使用aop、类反射机制、动态代理截获jpa标签@query内容实现适配器(实例)

    举例说明: 假如我们想在原有的spring data jpa进行数据持久化的系统上,不改变任何原有代码来实现打印出我们每次操作执行的sql语句(nativeQuery),要怎么来实现呢? 或许可以在每个语句前加入一个新的自定义注解,设置其内容,实现一个日志的功能,但如果在不更改原有代码又极简代码的情况下,我想到的方案是利用aop和类反射机制直接获取@Query的value,再进行操作。 import org.aspectj.lang.JoinPoint; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.*; import org.aspectj.lang.reflect.MethodSignature; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; import org.sp
    admin 今天
  • SpringCloud-Gateway统一处理返回参数,代码请直接复制粘贴
    其他

    SpringCloud-Gateway统一处理返回参数,代码请直接复制粘贴

    说明: SpringCloud-Gateway是基于webflux框架的(响应式编程WEB框架),就导致不能用正常的springMVC获取httpServletResponse返回值方法来统一获取返回值,所以本文就针对解决此问题 注意: 1.如果返回不是json的话(一般项目都是JSON),就不要转为json,是什么格式就用什么格式解析 2.代码中"//TODO" 标记的地方,即可对返回值进行统一处理,也可以拿到gatewayContext(gatewayContext可以看我这篇博文) 3.代码形式如此,不要纠结代码写法。reactor的思想和API使然 4.废话不多说,看代码吧 Filter代码: import cn.hutool.http.ContentType; import cn.hutool.http.Header; import com.alibaba.fastjson.JSON; impor
    admin 今天
  • /bin/bash: jar: command not found
    其他

    /bin/bash: jar: command not found

    解决 /bin/bash: jar: command not found 其实就是jar这个命令在系统变量里找不到 解决办法 cd /usr/bin sudo ln -s -f /usr/lib/jvm/jdk1.6.0_30/bin/jar
    admin 今天
  • SpringBoot数据绑定
    其他

    SpringBoot数据绑定

    Model 你一定知道Model类,在控制器中,数据会存放到Model对象中,当需要生成HTML的时候,模板引擎会根据名字来定位数据,像下图这样。 @RequestMapping("/model") public String model(Model model){ model.addAttribute("hobbies", Arrays.asList("滑雪","蹦床","滑板","冲浪")); return "model"; } 从广义上来说,Model指的是MVC中的M,即Model(模型)。从狭义上讲,Model就是个key-value集合。实际上,上图model方法得到的model对象就是一个 java.util.Map ,你可以将Model类型替换为Map ,或者ModelMap——一个实现了Model接口的java.util.HashMap。 往Model里放数据还有另外一种方式,使用ModelAndView。正如它的名字一样,ModelAndView将Mod
    admin 今天
  • Spring单例、多例、懒加载
    其他

    Spring单例、多例、懒加载

    1.说明 单例:内存中只有一份 多例:内存中有多份 默认情况下,spring管理的都是单例模式 package com.jt.config; import com.jt.demo.User; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Scope; @Configuration @ComponentScan("com.jt") public class SpringConfig { @Bean //
    admin 今天
  • springboot纯净版创建(细节拉满)
    其他

    springboot纯净版创建(细节拉满)

    1.第一步我们需要打开idea进行创建项目,选择我们maven项目什么都不选择 1.使用idea创建项目选择maven 2.第一个标红的是你的项目名,第二是你的公司域名  3.先把项目需要的依赖导入pom.xml,在刷新一下  4.我们在中间的包路径下创建一个启动类,让后我们先在方法上写一个@SpringBootApplication,让后在写一个@MapperScan("com.baidu.dao")写这个,不然项目无法运行 5自信运行测试成功(重点要自省)
    admin 今天
  • 程序包org.springframework.boot.autoconfigure不存在
    其他

    程序包org.springframework.boot.autoconfigure不存在

    1.有版本号,重启idea,重新刷新maven工程 2.无版本号,重新加上版本号,刷新maven,重启idea
    admin 今天
  • 单点登录–认证服务—定义Security类配置
    其他

    单点登录–认证服务—定义Security类配置

    流程:认证服务sso-auth--->openFeign -->系统服务(sso-system) 1、sso-auth:第一步要提供一个user封装的类,用来接收数据库查询到的数据。 package com.jt.auth.pojo; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; import org.springframework.security.core.GrantedAuthority; import java.io.Serializable; import java.util.List; @Data @Accessors(chain = true) @NoArgsConstructor @AllArgsConstructor public class User implements Serializable { /*
    admin 今天
  • B2B2C多用户商城系统,功能+渠道+架构+商业模式整合方案
    其他

    B2B2C多用户商城系统,功能+渠道+架构+商业模式整合方案

    电商企业花费高价去定制B2B2C多用户商城系统,既不受限于第三方平台的监管,自主运营电商品牌,又能实现多用户商城系统营销模式多样化。多商户商城系统通过商家入驻+平台运营、B2B2C招商加盟、产业链电商等模式轻松实现电子商务平台运营管理,一站式解决B2B2C多用户购物商城商品供应、线上线下渠道资源整合痛点。 一、B2B2C多用户商城系统大数据下集群技术部署方案 支持多商户商城大数据量和多种缓存方式,数据库读写分离和集群部署,多店铺商城系统功能模块开发自由搭配,从容部署。 二、主流技术开发多商家商城系统后台功能 多用户商城系统无论前台的可视化自定义装修还是后台的功能架构,使用主流JAVA技术闭源式开发。 1、用户端 包含PC端、微商城端、WAP端、APP端(安卓+IOS); 2、商家端 包含PC后台、微商城端、WAP端、APP端(安卓+IOS); 3、对接快递鸟与快递100 包含PC后台、移动端、APP端(安卓+IOS); 4、站点 包含PC端、微商城端、WAP端、APP端
    admin 今天
  • ClassPathXMLApplication和FilePathXmlApplication的区别
    其他

    ClassPathXMLApplication和FilePathXmlApplication的区别

    ClassPathXMLApplication public class Main { public static void main(String[] args) { ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring.xml"); System.out.println(applicationContext.getBean("user1")); } }  ClassPathXMLApplication的路径是相对路径,文件路径在这:    加载的是编译文件路径下的spring.xml,找到了文件所以能注册取出bean。 FilePathXmlApplication public class Main { public static void main(String[] args) { /*ClassPat
    admin 今天
  • 2021年12月2日——员工管理系统day1
    其他

    2021年12月2日——员工管理系统day1

    员工管理系统 一、新建项目 选择配件时勾选SpringWeb和Thymeleaf和lombok 二、导入静态资源 首先创建不存在的静态资源目录public和resources 将html静态资源放置templates目录下 将asserts目录下的css、img、js等静态资源放置static目录下 三、模拟数据库 1、pojo 在主程序同级目录下新建pojo包,用来存放实体类 在pojo包下创建一个部门表Department和一个员工表Employee 使用lombok org.projectlombok lombok 部门表 package com.dl.webdemo1.pojo; import lombok.AllArgsCons
    admin 今天
  • 一次关于list.add(map)的坑
    其他

    一次关于list.add(map)的坑

    主要原因是对于堆栈的理解不够敏感,先上代码 List list = new ArrayList(); Map map = new HashMap(); List listMamber = ctx.getParam("LIST"); for(int i = 0;i
    admin 今天
  • 2.Spring中的Bean
    其他

    2.Spring中的Bean

    目录 重点: 正文: 1、Bean的配置 2、Bean的实例化      1、构造器实例化 2、静态工厂实例化 3、实例工厂实例化  3、Bean的作用域 1、singleton作用域  2、prototype作用域  4、Bean的装配方式 重点: Bean的配置Bean实例化的三种方式Bean的三种装配方式 正文: 1、Bean的配置 两种格式的配置文件:XML(最常用)和Properties。这种配置方式通过XML文件来注册并管理Bean之间的依赖关系。在Spring中,XML配置文件的根元素是,中包含了多个子元素,每一个子元素定义了一个Bean,并描述该Bean如何被装配到Spring容器中表1--  元素的常用属性及其子元素 属性或子元素名称描述idBean的唯一标识符,Spring容器对Bean的配置、管理都通过该属性来完成class指定了Bean的具体实现类,必须是一个完整的类名,使用类的全限定名 scope 用来设定Bean的作用域,
    admin 今天
  • springboot注解@ConfigurationProperties详解
    其他

    springboot注解@ConfigurationProperties详解

    springboot版本2.5.5下@ConfigurationProperties的源码 @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented @Indexed public @interface ConfigurationProperties { @AliasFor("prefix") String value() default ""; @AliasFor("value") String prefix() default ""; boolean ignoreInvalidFields() default false; boolean ignoreUnknownFields() default true; } 1.
    admin 今天
  • spring boot SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder“
    其他

    spring boot SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder“

    问题1 1.1 问题描述 spring boot 项目启动时出现日志错误: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. 1.2 解决方案,增加slf4j实现的相关jar包 例如: slf4j-simple org.slf4j slf4j-simple 1.7.32
    admin 今天
  • Spring学习笔记—–Spring的数据响应
    其他

    Spring学习笔记—–Spring的数据响应

    目录 Spring的数据响应页面跳转直接返回字符串,返回带有前缀的字符串创建ModelAndView对象并返回注入ModelAndView或者Model的方式,参数由Spring容器传入 回写数据直接回写字符串回写对象或者集合通过Json格式 Spring的数据响应 页面跳转 直接返回字符串, 直接返回字符串这种方式会将返回的字符串与视图解析器的前后缀拼接后跳转. 视图解析器配置在Springmvc-config.xml配置文件 一个简单的Springmvc-config.xml配置文件示例
    admin 今天
  • springboot 集成 swagger 以及swagger 常用注解
    其他

    springboot 集成 swagger 以及swagger 常用注解

    springboot集成swagger的步骤 1.引入jar包 io.springfox springfox-swagger2 2.5.0 io.springfox springfox-swagger-ui 2.5.0 2.开启配置 在springboot的启动类上加@EnableSwagger2 @SpringBootApplication @Configuration @EnableSwagger2 public class Dem
    admin 今天
  • springboot yml配置文件详解
    其他

    springboot yml配置文件详解

    1. yml简介 # YAML是"YAML Ain't a Markup Language"(YAML不是一种标记语言)的递归缩写。 ## 在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种标记语言), ## 但为了强调这种语言以数据做为中心,而不是以标记语言为重点,而用反向缩略语重命名。 # yml语法 # 0. YAML 使用可打印的Unicode字符,可以使用utf-8 utf-16 # 1. 使用 “k: v” 格式表示键值对关系,冒号后面必须有一个空格 # 2. 使用空格(“ ”)缩进表示层级关系,不能使用跳格字符(TAB); 空格数目不重要,只要左对齐的数据,表示都在同一层 # 3. 使用单引号(‘’)双引号(“”) 字符串类型的值 平常不需要使用引号, 有特殊字符需要处理的时候需要加双引号或者单引号 # 4. 使用井号 (#) 表
    admin 今天
  • Spring Boot基础 (一)
    其他

    Spring Boot基础 (一)

    # **一、**Spring Boot 入门 ## 1、Spring Boot 简介 > 简化Spring应用开发的一个框架; > > 整个Spring技术栈的一个大整合; > > J2EE开发的一站式解决方案; ## 2、微服务 2014,martin fowler 微服务:架构风格(服务微化) 一个应用应该是一组小型服务;可以通过HTTP的方式进行互通; 单体应用:ALL IN ONE 微服务:每一个功能元素最终都是一个可独立替换和独立升级的软件单元; ## 3、环境准备 环境约束 –jdk1.8:Spring Boot 推荐jdk1.7及以上;java version "1.8.0_112" –maven3.x:maven 3.3以上版本;Apache Maven 3.3.9 –IntelliJIDEA2017:IntelliJ IDEA 2017.2.2 x64、STS –SpringBoot 1.5.9.RELEASE:1.5.9; 统一环境; ### 1、MAVEN设置; 给maven 的setti
    admin 今天
  • Redis学习总结
    其他

    Redis学习总结

    一、为什么Redis需要把所有数据放到内存中? Redis为了达到最快的读写速度将数据都读到内存中,并通过异步的方式将数据写入磁盘。所以Redis具有快速和数据持久化的特征。如果不将数据放在内存中,磁盘I/O速度为严重形象redis的性能。在内存越来越便宜的现在,Redis会越来越受欢迎。如果设置了最大的使用的内存,则数据已有记录数达到内存限值后不能继续插入数值。 二、Redis相比memcached有哪些优势? 1、memcached所有的值均为简单的字符串,Redis作为其替代者,支持更为丰富的数据类型 2、Redis的速度比memcached快很多 3、Redis可以持久化其数据 三、什么是Redis?简述它的优缺点? 答:专业版:Redis是一个使用C语言编写的,开源的高性能非关系型的键值对数据库 本质:Key-Value类型的内存数据库,很像memcached,整个数
    admin 今天
  • Idea – 常用设置
    其他

    Idea – 常用设置

    Idea 有一些设置可以使开发更加友好。 1、加上自动编译,方便自动排错 2、开发Spring项目时 去掉Idea的依赖检查 3、设置maven 4、设置项目编码 注意以上 设置最好是 设置成默认:
    admin 今天
  • JNDI 简介
    其他

    JNDI 简介

    一、JNDI 是什么 JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一,不少专家认为,没有透彻理解JNDI的意义和作用,就没有真正掌握J2EE特别是EJB的知识。 JNDI(JavaNaming and Directory Interface)是一个应用程序设计的API,为开发人员提供了查找和访问各种命名和目录服务的通用、统一的接口,类似JDBC都是构建在抽象层上。现在JNDI已经成为J2EE的标准之一,所有的J2EE容器都必须提供一个JNDI的服务。 举个例子数据源配置:JBOSS配置一个数据源,并绑定到JNDI MySqlDS jdbc:mysq
    admin 今天
  • Idea maven web项目构建
    其他

    Idea maven web项目构建

    以下是我实际中设置maven web项目的方法。有点复杂,但是思路还是比较清晰。不论怎样设置,最终的结果一定是符合javaweb项目文件结构的。 注意: java肯定是Sources文件,resources 定义为Resources类型,则会将其中文件原封不动的放到编译目录中去。 注意java下面的文件 不用设置任何属性。 web,target,lib等需要设定为Excluded 设置:Sources和Resources的编译文件目录,一般这样设置即可。 这个模块是设置项目依赖的。maven添加的jar会自动添加至此。自己定义的外部jar包,也可以在此处引入。前面那个钩没用Scope一般选Compile。 注意:此处最为重要。Output directory可以随意设置。classes就是上面配置的Sources和Resources。也就是D:\workspace-spring\target\production\WEB-INF\classes\下的内容。这个也是需要发布到tomcat的
    admin 今天
  • servlet filter
    其他

    servlet filter

    Servlet过滤器是 在Java Servlet规范2.3中定义的,它能够对Servlet容器的请求和响应对象进行检查和修改,它在Servlet被调用之前检查Request对象, 修改Request Header和Request内容;在Servlet被调用之后检查Response对象,修改Response Header和Response内容。Servlet过滤器负责过滤的Web组件可以是Servlet、JSP或HTML文件,具有以下特点: l         Servlet过滤器可能检查和修改ServletRequest和ServletResponse对象 l         可以指定Servlet过滤器和特定的URL关联,只有当客户请求访问此URL时,才会触发该过滤器工作 l         多个Servlet过滤器可以被串联起来,形成管道效应,协同修改请求和响应对象 l         所有支持Java Servlet规范2.3的Servlet容器,都支持Servlet过滤器 所有的Servlet过滤器类都必须实
    admin 今天
  • Springboot – 代码混淆
    其他

    Springboot – 代码混淆

    一、ProGuard POM文件 org.apache.maven.plugins maven-compiler-plugin 1.8 1.8 UTF-8 com.github.wvengen
    admin 今天
  • Initialization failed for ‘https://start.spring.io’ Please check URL, network and proxy settings
    其他

    Initialization failed for ‘https://start.spring.io’ Please check URL, network and proxy settings

    前言: 这个报错我也没解决,但是如果可以自己搭建的自己的https://start.spring.io服务器是可以实现的。目前没那么多资源可以直接用阿里云的仓库即可。 https://start.aliyun.com/,这是一个比较好的替代方案,目前我的idea是一直连不上。手机的流量是可以连接通的。
    admin 今天
  • linux多磁盘如何高效使用
    其他

    linux多磁盘如何高效使用

    linux使用了多块磁盘,如何配置可以使每块磁盘都高效使用 在hdfs-site.xml文件中配置多目录,注意新挂载磁盘的访问权限问题 HDFS的DataNode节点保存数据的路径由 dfs.datanode.data.dir 参数决定,其默认值为 file://${hadoop.tmp.dir}/dfs/data ,若服务器有多个磁盘,必须对该参数进行修改。使用 df -h 查看服务器磁盘情况,如服务器磁盘有四个,则对该参数修改为如下的值: dfs.datanode.data.dir file:///dfs/data1,file:///hd2/dfs/data2,file:///hd3/dfs/data3,file:///hd4/dfs/data4 如果磁盘已经出现数据倾斜,通过以下方法达到磁
    admin 昨天
  • " alt="一分钟弄清楚SpringBoot Actuator 潜在的 OOM 问题">
    其他

    一分钟弄清楚SpringBoot Actuator 潜在的 OOM 问题

    前言 此问题背景产生于近期需要上线的一个功能的埋点;主要表现就是在应用启动之后的一段时间内,内存使用一直呈现递增趋势。 下图为场景复线后,本地通过 jconsole 查看到的内部使用走势图。 实际环境受限于配置,内存不会膨胀 背景&问题 应用 a 使用 rest template 通过 http 方式调用 应用 b,应用项目中开启了 actuator,api 使用的是 micrometer;在 client 调用时,actuator 会产生一个 name 为 http.client.requests 的 metrics,此 metric 的 tag 中包含点目标的 uri。 应用 b 提供的接口大致如下: @RequestMapping("test_query_params") public String test_query_params(@RequestParam String value) { return value; } @RequestMapping("test_path_params/{val
    admin 昨天