202010-10 通过简单方法实现spring boot web项目 搭建效果为:直接在网页输入请求,在页面中显示一行文字:Hello,SpringBoot与一般的wen项目不同的地方:1、不需要配置web.xml文件,但需要注解@SpringBootApplication等2、一切和spring有关的jar包都不需要版本号,springcloud会给你选择它最稳定的版本3、它会定位publicstaticvoidmain()方法来标记为可运行类,必须在主路径下4、启动方式:a.右键运行main方法b.由于我们使用了spring-boot-starter-parentPOM,所... 继续阅读 >
202010-10 Spring Boot事务配置操作 1、在启动主类添加注解:@EnableTransactionManagement来启用注解式事务管理,相当于之前在xml中配置的<tx:annotation-driven/>注解驱动。2、在需要事务的类或者方法上面添加@Transactional()注解,里面可以配置需要的粒度:这么多东西提供配置:Isolation:隔离级别隔离级别是指若干个并发的事务之间的隔离程度,与我们开发时候主要相关的场景包括:脏读取、重复读、幻读。我们可以看org.springframework.transaction.annota... 继续阅读 >
202010-10 一篇文章带你搞定SpringBoot不重启项目实现修改静态资源 一、通过配置文件控制静态资源的热部署在配置文件application.properties中添加:#表示从这个默认不触发重启的目录中除去static目录spring.devtools.restart.exclude=classpath:/static/**或者使用:#表示将static目录加入到修改资源会重启的目录中来spring.devtools.restart.additional-paths=src/main/resource/static此时对static目录下的静态资源文件做修改,点击构建,则会达到和热部署一样的作用效果但是这两种方法用处... 继续阅读 >
202010-10 spring boot 项目中使用thymeleaf模板的案例分析 准备MySql数据库,表Prereg,IDEA数据库中的表如下所示:IDEA目录结构如下:添加thymeleaf依赖:<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>开始添加代码:在controller包添加类“PreregController”packagecom.example.demo.controller;importcom.example.demo.mapper.PreregMapper;importcom.example.demo.pojo.Prereg;importorg.sprin... 继续阅读 >
202010-10 idea将maven项目改成Spring boot项目的方法步骤 1、添加parent父级依赖在pom.xml文件中,要首先添加parent父级依赖<!--这个parent是springboot的父级依赖,它提供相关的starter的maven管理以及版本号管理,还有相关maven插件的公共配置--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.4.RELEASE</version><relativePath/><!--lookupparentfromrepository--></parent>2、添加spring-b... 继续阅读 >
202010-10 Spring Boot如何使用Undertow代替Tomcat 1.Undertow简介Undertow是一个采用Java开发的灵活的高性能Web服务器,提供包括阻塞和基于NIO的非堵塞机制。Undertow是红帽公司的开源产品,是Wildfly默认的Web服务器。Undertow提供一个基础的架构用来构建Web服务器,这是一个完全为嵌入式设计的项目,提供易用的构建器API,完全向下兼容JavaEEServlet3.1和低级非堵塞的处理器。2.Undertow特点高性能在多款同类产品的压测中,在高并发情况下表现出色。... 继续阅读 >
202010-10 Spring Boot读取配置属性常用方法解析 1.前言在SpringBoot项目中我们经常需要读取application.yml配置文件的自定义配置,今天就来罗列一下从yaml读取配置文件的一些常用手段和方法。2.@Value首先,会想到使用@Value注解,该注解只能去解析yaml文件中的简单类型,并绑定到对象属性中去。felord:phone:182******32def:name:码农小胖哥blog:felord.cnwe-chat:MSW_623dev:name:码农小胖哥blog:felord.cnwe-chat:MSW_623type:JUEJIN对于上面的yam... 继续阅读 >
202010-10 一文搞懂并学会使用SpringBoot的Actuator运行状态监控组件的详细教程 目录闲言碎语:背景Actuator介绍Rest方法来查看Actuatorpom.xml引入Actuator依赖配置application.yml运行项目Actuator配合SpringBootSecurity配置application.xml运行项目配置关闭项目API端口配置application.yml命令行执行post关闭指令附:Actuator端口信息附:SpringBoot自带的健康指示器赠言闲言碎语: 最近刷抖音,看到了星爷的很多电影,感叹星爷给后世留下了很多的经典作品,我就在想,作为一名程序员,如何留... 继续阅读 >
202010-10 基于Spring Boot DevTools实现开发过程优化 场景再现某日少年收到前端同学发来的消息说联调的接口响应异常,少年表现的很平静,因为这种事情太平常了。于是询问详情之后开始打开自己的代码查找问题所在,没过五分钟就发现了问题。少年修改完代码之后将本地启动的项目停止然后再重新启动。由于当前的服务端项目是一个巨大的单体应用,启动需要花三四分钟时间,于是少年就拿出手机开始刷起朋友圈。刷着刷着(由于注意力分散不知不觉花了十几分钟)突然意识到项目已经重新启动,... 继续阅读 >
202010-10 Spring Boot 中密码加密的两种方法 先说一句:密码是无法解密的。大家也不要再问松哥微人事项目中的密码怎么解密了!密码无法解密,还是为了确保系统安全。今天松哥就来和大家聊一聊,密码要如何处理,才能在最大程度上确保我们的系统安全。1.为什么要加密2011年12月21日,有人在网络上公开了一个包含600万个CSDN用户资料的数据库,数据全部为明文储存,包含用户名、密码以及注册邮箱。事件发生后CSDN在微博、官方网站等渠道发出了声明,解释说此数据库系... 继续阅读 >
202010-10 Spring Boot 中该如何防御计时攻击 松哥最近在研究SpringSecurity源码,发现了很多好玩的代码,抽空写几篇文章和小伙伴们分享一下。很多人吐槽SpringSecurity比Shiro重量级,这个重量级不是凭空来的,重量有重量的好处,就是它提供了更为强大的防护功能。比如松哥最近看到的一段代码:protectedfinalUserDetailsretrieveUser(Stringusername,UsernamePasswordAuthenticationTokenauthentication)throwsAuthenticationException{prepareTimingAttac... 继续阅读 >
202010-10 Spring Boot支持HTTPS步骤详解 SpringBoot中启动HTTPS如果你使用SpringBoot,并且想在内嵌tomcat中添加HTTPS,需要有一个证书。两种方式自己通过keytool生成通过证书授权机构购买这里采用第一种方式,采用keytool生成。-genkey生成秘钥-alias别名-keyalg秘钥算法-keysize秘钥长度-validity有效期-keystore生成秘钥库的存储路径和名称-keypass秘钥口令-storepass秘钥库口令-dname拥有者信息,CN:姓名;OU:组织单位名称;O:组织名称;L:省/市... 继续阅读 >
202010-10 Spring Boot 通过CORS实现跨域问题 同源策略很多人对跨域有一种误解,以为这是前端的事,和后端没关系,其实不是这样的,说到跨域,就不得不说说浏览器的同源策略。同源策略是由Netscape提出的一个著名的安全策略,它是浏览器最核心也最基本的安全功能,现在所有支持JavaScript的浏览器都会使用这个策略。所谓同源是指协议、域名以及端口要相同。同源策略是基于安全方面的考虑提出来的,这个策略本身没问题,但是我们在实际开发中,由于各种原因又经常有跨域的需... 继续阅读 >
202010-10 Spring Boot引入swagger-ui 后swagger-ui.html无法访问404的问题 最近给graphserver增加swagger,记录下过程与问题解决。Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务,后端集成下Swagger,然后就可以提供一个在线文档地址给前端同学。引入Swaggerpom中加入相关配置:<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version></dependency><dependency><groupId>io.springfox</group... 继续阅读 >
202010-10 Spring Boot Admin 动态修改日志级别的方法步骤 【前言】 之前关于线上输出日志一直有个困惑:如何可以动态调整的日志级别,来保证系统在正常运行时性能同时又能在出现问题时打印详细的信息来快速定位问题;最近研究一下SpringBootAdmin中动态日志级别调整,并集成项目中,在此与大家共享;【动态修改日志级别】 一、生产环境日志输出的状况 ... 继续阅读 >
202010-10 Spring Boot集成 Spring Boot Admin 监控 【前言】程序开发完实现相应的功能只是一个部分,如何让系统在线上运行更好创造更高的价值是另外一个部分;监控是一个生产级项目避不可少重要组成部分;最近研究一下针对SpringBoot的监控项目---SpringBootAdmin,并集成项目中,在此与大家共享;【SpringBootAdmin】一、SpringBootAdmin简介1、github地址:https://github.com/codecentric/spring-boot-admin2、重要功能列表:二、项目中集成SpringBootAdmin1、搭建SpringBootAd... 继续阅读 >