springBoot+webMagic实现网站爬虫前端时间公司项目需要抓取各类数据,py玩的不6,只好研究Java爬虫方案,做一个总结。开发环境:springBoot2.2.6、jdk1.8。1、导入依赖us.codecraftwebmagic-core0.7.3us.codecraftwebmag...
一、Java模板引擎模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。在java中,主要的模板引擎有JSP、Thymeleaf、FreeMarker、Velocity等。虽然随着前后...
Springboot给我们提供了两种“开机启动”某些方法的方式:ApplicationRunner和CommandLineRunner。这两种方法提供的目的是为了满足,在项目启动的时候立刻执行某些方法。我们可以通过实现ApplicationRunner和CommandLineRunner,来实现,他...
SpringBoot+SpringSecurity短信验证码登录功能
实现原理在之前的文章中,我们介绍了普通的帐号密码登录的方式:SpringBootSpringSecurity基本使用及个性化登录配置详解。但是现在还有一种常见的方式,就是直接通过手机短信验证码登录,这里就需要自己来做一些额外的工作了。对SpringSecurity认证流程详解有一定了解的都知道,在帐...
在我们日常开发中,我们可能很随意把数据库密码直接明文暴露在配置文件中,在开发环境可以这么做,但是在生产环境,是相当不建议这么做,毕竟安全无小事,谁也不知道哪天密码就莫名其妙泄露了。今天就来聊聊在springboot项目中如何对数据库密码进行加密正文方案一、使用druid数据库连接池对数据库密码加密1...
IOC的推导1.1、模拟一个正常查询信息的业务流程:①mapper层:因为没有连接数据库,这里我们写一个mapper的实现类来模拟数据的查询publicinterfacePerMapper{voidgetPerInfo();}publicclassStudentMapperImplimplement...
写在前面:spring应该对于每个从事java开发的大兄弟们来说应该都不陌生的,作为一个从业两年多的小开发仔,个人觉得,每天都在面对spring,确从来没有编译过spring源码,有点不太合适。最近在研究spring源码的时候,突然想起编译一下spring源码,网上应该也有很多大神编译过spring...
SpringBoot整合RabbitMQ 手动应答(简单Demo)
版本说明JDK1.8RabbitMQ3.7.15Erlang22.0SpringBoot2.3.3.RELEASE//TODO2021年1月8日整理CentOS安装RabbitMQ流程1.在RabbitMQ的Web管理界面,创建test队列参数的含义durability:是否持久化(重启或宕机后消息...
一、关于SpringCache缓存在现在的应用中越来越重要,Spring从3.1开始定义了org.springframework.cache.Cache和org.springframework.cache.CacheManager接口来统一不同的缓存技术,并支持使用JCache(JSR-107)注解...
基于Gradle构建的SpringBoot应用制作成Docker镜像
本篇概览本文通过实战演示了如何将一个基于gradle构建的springboot应用制作成docker镜像,相关的软件版本信息如下:操作系统:macOSBigSur11.2.2JDK:1.8.0_211gradle:6.8.3docker:20.10.5springboot:2.4.4新建java工程...
问题描述:使用springjpa更新数据时,有时候我们需要更新部分字段,对已有的内容保持不变,通常我们可以通过Spring提供的bean工具类BeanUtils来实现解决方法:BeanUtils复制对象,BeanUtils中的构造方法属性中可以通过传入更新时忽略的属性值来实现选择性复制原对象的字段。...
SpringBoot普通类获取Spring容器中Bean的操作
创建springboot工程demo项目结构图示项目结构说明service包下为demo接口和实现类,添加@Service注解,标明交由spring框架管理实例。test包下为测试用的普通类,测试获取实例的方法。utils包下为自定义的获取spring容器中实例的方法。工程代码servicepack...
spring事务源码spring事务的源码,要从@EnableTransactionManagement注解拉开序幕首先,如果我们要使用spring事务,只需要在配置类上添加@EnableTransactionManagement注解,并且在业务方法上添加@Transactional注解即可(以sp...
Zuul作为网关服务,是其他各服务对外中转站,通过Zuul进行请求转发。这就涉及到部分数据是不能原封返回的,比如服务之间通信的凭证,用户的加密信息等等。实现类在:api-getway工程下的com.cml.springcloud.api.filter.AuthResponseFilter举个例子,用...
解决方法:补充:idea中yml文件图标小绿叶变成小网格问题及自动提示失效解决方法idea中yml文件图标小绿叶变成小网格问题及自动提示失效解决方法.yml文件突然变成下图小网格,且没有自动提示了,让人非常的崩溃哈!!最后终于解决了,步骤如下:1.ctrl+shift+alt+s,打开设置2.找到下...
之前了解到mybatis的一级缓存是默认开启的,作用域是sqlSession,是基HashMap的本地缓存。不同的SqlSession之间的缓存数据区域互不影响。当进行select、update、delete操作后并且commit事物到数据库之后,sqlSession中的Cache自动被清空结论sp...
配置文件前面的例子我们都是使用XML的bean定义来配置组件。在一个稍大的项目中,通常会有上百个组件,如果这些组件采用XML的bean定义来配置,显然会增加配置文件的体积,查找及维护起来也不太方便。Spring2.5为我们引入了组件自动扫描机制,它可以在类路径底下寻找标注了@Component、@S...
SpringBoot如何优雅的整合Swagger Api自动生成文档
整合swaggerapi这里我们自己去整合swaggerapi比较麻烦,要导入好几个包,有大神帮我们写好了轮子kinfe4j直接对应SpringBoot的启动项,而且在不影响原来使用功能上界面ui做了美化功能做了增强我们直接整合这个就好了com.github.xiaoyminknife4j-spri...
浅谈Springcloud中Netflix-Ribbon灰度方案之Zuul网关灰度
Eureka默认集成了Ribbon,所以Ribbon的灰度实现原理就是借助服务注册到Eureka中的eureka.instance.metadata-map的内容来进行匹配的。Zuul网关的灰度实现也是借助了一个Ribbon的插件来实现,相对比较简单。项目环境说明:有两个eureka的服务端(eur...
- 上一页
- 下一页