fasterxml

Spring Boot Sample 022之spring-boot-data-redis-lettuce

一世执手 提交于 2020-08-11 07:29:51
一、环境 Idea 2020.1 JDK 1.8 maven 二、目的 spring boot 通过lettuce整合redis gitHub地址: https://github.com/ouyushan/ouyushan-spring-boot-samples 三、步骤 3.1、点击File -> New Project -> Spring Initializer,点击next 3.2、在对应地方修改自己的项目信息 3.3、选择Web依赖,选中Spring Web、Spring Boot Redis。可以选择Spring Boot版本,本次默认为2.2.7,点击Next 3.4、项目结构 四、添加文件 pom.xml文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion>

@JsonView注解的使用

◇◆丶佛笑我妖孽 提交于 2020-08-09 22:32:28
看到一个新的注解以前没有用过,记录一下使用方法。 注意是:com.fasterxml.jackson.annotation.JsonView @JsonView可以过滤pojo的属性,使Controller在返回json时候,pojo某些属性不返回,比如User的密码,一般是不返回的,就可以使用这个注解。 @JsonView使用方法:   1,使用 接口 来声明多个视图   2,在pojo的get方法上指定视图   3,在Controller方法上指定视图 例子:条件查询时候不返回用户的密码,查看详情时候返回用户的密码 User: package com.imooc.dto; import com.fasterxml.jackson.annotation.JsonView; public class User { public interface UserSimpleView {}; public interface UserDetailView extends UserSimpleView{}; // 继承 private String username; private String password; // UserSimpleView视图有 @JsonView(UserSimpleView. class ) public String getUsername() {

@JsonView注解的使用

我的未来我决定 提交于 2020-08-08 23:29:39
看到一个新的注解以前没有用过,记录一下使用方法。 注意是:com.fasterxml.jackson.annotation.JsonView @JsonView可以过滤pojo的属性,使Controller在返回json时候,pojo某些属性不返回,比如User的密码,一般是不返回的,就可以使用这个注解。 @JsonView使用方法:   1,使用 接口 来声明多个视图   2,在pojo的get方法上指定视图   3,在Controller方法上指定视图 例子:条件查询时候不返回用户的密码,查看详情时候返回用户的密码 User: package com.imooc.dto; import com.fasterxml.jackson.annotation.JsonView; public class User { public interface UserSimpleView {}; public interface UserDetailView extends UserSimpleView{}; // 继承 private String username; private String password; // UserSimpleView视图有 @JsonView(UserSimpleView. class ) public String getUsername() {

JAVA JNDI 注入知识详解

两盒软妹~` 提交于 2020-08-08 10:50:35
作者: 天融信阿尔法实验室 原文链接: https://mp.weixin.qq.com/s/TJTOh0q0OY-j6msP6XSErg 一、前言 在漏洞挖掘或利用的时候经常会遇见JNDI,本文会讲述什么是JNDI、JNDI中RMI的利用、LDAP的利用、JDK 8u191之后的利用方式。 二、JNDI简介 JNDI(The Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API,命名服务将名称和对象联系起来,使得我们可以用名称访问对象。 这些命名/目录服务提供者: RMI (JAVA远程方法调用) LDAP (轻量级目录访问协议) CORBA (公共对象请求代理体系结构) DNS (域名服务) JNDI客户端调用方式 //指定需要查找name名称 String jndiName = "jndiName" ; //初始化默认环境 Context context = new InitialContext (); //查找该name的数据 context . lookup ( jndiName ); 这里的jndiName变量的值可以是上面的命名/目录服务列表里面的值,如果JNDI名称可控的话可能会被攻击。 三、JNDI利用方式 RMI的利用 RMI是Java远程方法调用,是Java编程语言里

AWS SQS: java.lang.NoClassDefFoundError: com/fasterxml/jackson/annotation/JsonMerge?

China☆狼群 提交于 2020-07-30 07:37:43
问题 I am trying to a message to SQS in my Java code as follows: public void pushToSQS(){ String queueURL = "https://sqs.us-east-1.amazonaws.com/205135634997/myQueue.fifo"; try { final AmazonSQS sqs = AmazonSQSClientBuilder.defaultClient(); sqs.sendMessage(new SendMessageRequest(queueURL, "test message")); } catch (final AmazonServiceException e) { log.error("Error: " + e.getMessage()); } } However at line: final AmazonSQS sqs = AmazonSQSClientBuilder.defaultClient(); I get the error: java.lang

SpingMVC之<mvc:annotation-driven/>标签

北战南征 提交于 2020-05-08 15:30:20
对于SpringMVC的探索已经接近尾声,本篇笔记主要记录下SpringMVC为我们提供的一个神奇标签 <mvc:annotation-driven/> ,这个标签会帮我们注入很多关键而实用的bean,但是用它也得小心跟自己手动注入的bean重复,会造成不必要的麻烦。所以今天来了解下这个标签。 本篇笔记主要分析SpringMVC 5.1.1 这个版本。 为了弄清楚这些问题,我们先找到它的解析类,所有的自定义命名空间(像mvc,context等)下的标签解析都是由 BeanDefinitionParser 接口的实现类来完成的。我们今天研究的是 <mvc:annotation-driven/> 标签,所以我们找到对应的实现类是 org.springframework.web.servlet.config.AnnotationDrivenBeanDefinitionParser 。 1 简单了解下功能 AnnotationDrivenBeanDefinitionParser ,为 <annotation-driven /> MVC名称空间元素提供配置。 1.1 注册以下HandlerMappings (映射器们): RequestMappingHandlerMapping 的排序为0,用于将请求映射到带@RequestMapping注释的控制器方法。

从搜狐下在每日交易数据的爬虫程序

谁说胖子不能爱 提交于 2020-05-08 10:55:04
网易不行有搜狐,搜狐提供的每日股票交易数据可比网易的强多了,近四千支股票4月的交易数据八万余条一气呵成.看来以后要靠它当主力. 程序: package com.ufo.hy.agumaster.crawler.daytransact; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.ufo.hy.agumaster.entity.DayTransact; public class SohuDTCrawler { private List<DayTransact> dtList; public List<DayTransact> getDtList(){ return dtList; } public void download(String originalCode,String name,String fromDate,String

Jackson 不用注解过滤数据

坚强是说给别人听的谎言 提交于 2020-05-07 18:20:44
import java.util.HashSet; import java.util.Set; import com.fasterxml.jackson.annotation.JsonFilter; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter; import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider; import com.pingpang.websocketchat.ChartUser; public final class JsonFilterUtil { public static void addFilterForMapper(ObjectMapper mapper) { Set<String> sets =new HashSet<String>(); sets.add("userPassword"); SimpleBeanPropertyFilter fieldFilter = SimpleBeanPropertyFilter.serializeAllExcept(sets);

从网易财经行情中心爬取股票信息

早过忘川 提交于 2020-05-04 22:45:18
爬取网址: http://quotes.money.163.com/old/#query=todayRank Problem :网易的股票行情时不像凤凰网是有每一页的Url的,它是采用的Ajax方式,所以不能从页面代码推断下一页的网址,也不能从页面代码获得当页数据。 Solution :打开Chrom的开发者工具,点Network,再刷新页面,就能看到真正请求的地址是: Request URL: http://quotes.money.163.com/hs/service/marketradar_ajax.php?host=http%3A%2F%2Fquotes.money.163.com%2Fhs%2Fservice%2Fmarketradar_ajax.php&page=0&query=STYPE%3AEQA&types=&count=28&type=query&order=desc 把这个网址拷贝到浏览器里,你会发现是返回的数据是JSon: 我们实际需要的是pageCount,name,code几项,用jackson解析json得到上述节点的信息就好了。 jackson的依赖是: <!-- jackson --> < dependency > < groupId > com.fasterxml.jackson.core </ groupId > < artifactId >

使用jackson解析json串得到树模型,然后遍历树模型获得需要的数据

落花浮王杯 提交于 2020-05-04 21:47:39
Problem:从网址 http://quotes.money.163.com/hs/service/marketradar_ajax.php?host=http%3A%2F%2Fquotes.money.163.com%2Fhs%2Fservice%2Fmarketradar_ajax.php&page=2&query=STYPE%3AEQA&types=&count=28&type=query&order=desc 获得了如下的json文本: {"page":2,"count":28,"total":10085,"pagecount":361,"time":"2020-05-03 12:09:45","list":[{"CODE":"0600256","SYMBOL":"600256","NAME":"\u5e7f\u6c47\u80fd\u6e90","PRICE":2.52,"PERCENT":0.028571,"NUMBER":"7,204\u624b","TITLE":"\u51fa\u73b0\u5927\u4e8e5000\u624b\u6216\u548c\u6d41\u901a\u76d8\u7684\u6bd4\u503c\u5927\u4e8e0.1%\u7684\u5185\u76d8\u6210\u4ea4","TIME":"15:00:05",