加上此配置:
MongodbConfiguration.java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.mongodb.MongoDbFactory;
import org.springframework.data.mongodb.core.convert.DbRefResolver;
import org.springframework.data.mongodb.core.convert.DefaultDbRefResolver;
import org.springframework.data.mongodb.core.convert.DefaultMongoTypeMapper;
import org.springframework.data.mongodb.core.convert.MappingMongoConverter;
import org.springframework.data.mongodb.core.mapping.MongoMappingContext;
@Configuration
public class AppMongoConfig {
@Autowired private MongoDbFactory mongoDbFactory;
@Autowired private MongoMappingContext mongoMappingContext;
@Bean
public MappingMongoConverter mappingMongoConverter() {
DbRefResolver dbRefResolver = new DefaultDbRefResolver(mongoDbFactory);
MappingMongoConverter converter = new MappingMongoConverter(dbRefResolver, mongoMappingContext);
converter.setTypeMapper(new DefaultMongoTypeMapper(null));
return converter;
}
}
https://www.ngdata.com/parsing-a-large-json-file-efficiently-and-easily/
https://sites.google.com/site/gson/streaming
http://www.acuriousanimal.com/2015/10/23/reading-json-file-in-stream-mode-with-gson.html
public static void main(String [] args) throws IOException {
String filePath = "C:big-data.json";
FileInputStream in = new FileInputStream(new File(filePath));
JsonReader reader = new JsonReader(new InputStreamReader(in, "UTF-8"));
Gson gson = new GsonBuilder().create();
// reader.beginObject();
// reader.nextName();
reader.beginObject();//跳过"{"
while (reader.hasNext()) {
// Read data into object model
JsonToken jsonToken = reader.peek();
if(jsonToken.equals(JsonToken.NAME)) {
String name = reader.nextName();
if(name.equalsIgnoreCase("SUMMARY")) {
// reader.beginObject();
Summary summary = gson.fromJson(reader, Summary.class);
logger.info(summary.toString());
break;
// reader.endObject();//跳过"}"
}
} /*else if(jsonToken.equals(JsonToken.BEGIN_OBJECT)) {
reader.beginObject();
} else if(jsonToken.equals(JsonToken.STRING)) {
logger.info(reader.nextString());
} else if(jsonToken.equals(JsonToken.NUMBER)) {
logger.info(reader.nextInt() + "");
} else if(jsonToken.equals(JsonToken.END_OBJECT)) {
reader.endObject();
} */
// Summary summary = gson.fromJson(reader, Summary.class);
// break;
}
reader.close();
}
https://www.oschina.net/news/91924/10-open-source-technology-trends-2018
http://www.iteye.com/news/32843
JAX-RS 2比JAX-RS 1增加了过滤器、拦截器、异步处理等特性。@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
JAXRSClientSpringBoot
CXFSpringBoot
Restfull Webservice书源码
JAX-RS 2.0 REST客户端编程实例
本人的DEMO