=Start=
缘由:
工作需要,学习总结需要
正文:
参考解答:
在Mac上安装、启动MongoDB:
$ brew update $ brew install mongodb $ mkdir -p /data/db $ chown -R $USER /data/db $ sudo mongod --config /usr/local/etc/mongod.conf
在Windows上下载、安装MongoDB:
1. 下载 2. 手动简单的配置 2.1. 配置环境变量 2.2. 创建数据库文件存放目录 2.3. 创建日志文件存放目录 2.4. 安装为 Windows 服务 3. 使用配置文件 3.1. 配置文件 3.2. 普通启动 3.3. 安装为 Windows 服务 3.4. 使用SC安装为Windows服务 3.5. 浏览器测试
MongoDB操作:
# 另开一个终端 $ mongo > help > show dbs > db > show collections > use local > db.collection_name.find()
在Spring Boot中使用MongoDB数据库:
①环境依赖(修改pom.xml文件):
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>
②数据源配置(手动、自动):
手动(主动设置配置文件):
默认使用localhost:27017的名称叫做test的数据库。 此外,我们也可以在 src/main/resources/application.properties 中配置数据源信息: spring.data.mongodb.uri=mongodb://name:pass@localhost:27017/dbname
自动(交给Spring Boot去处理):
使用经过 @Autowired 注解处理过的 mongoTemplate ,然后正常操作即可: @Autowired private MongoTemplate mongoTemplate;
③mongoTemplate操作举例
// 创建一个 Entity public class UserEntity implements Serializable { private static final long serialVersionUID = -3258839839160856613L; private Long id; private String userName; private String passWord; //getter、setter省略 }
// 创建实体dao的增删改查操作 @Component public class UserDaoImpl implements UserDao { @Autowired private MongoTemplate mongoTemplate; /** * 创建对象 * @param user */ @Override public void saveUser(UserEntity user) { mongoTemplate.save(user); } /** * 根据用户名查询对象 * @param userName * @return */ @Override public UserEntity findUserByUserName(String userName) { Query query=new Query(Criteria.where("userName").is(userName)); UserEntity user = mongoTemplate.findOne(query , UserEntity.class); return user; } /** * 更新对象 * @param user */ @Override public void updateUser(UserEntity user) { Query query=new Query(Criteria.where("id").is(user.getId())); Update update= new Update().set("userName", user.getUserName()).set("passWord", user.getPassWord()); //更新查询返回结果集的第一条 mongoTemplate.updateFirst(query,update,UserEntity.class); //更新查询返回结果集的所有 // mongoTemplate.updateMulti(query,update,UserEntity.class); } /** * 删除对象 * @param id */ @Override public void deleteUserById(Long id) { Query query=new Query(Criteria.where("id").is(id)); mongoTemplate.remove(query,UserEntity.class); } }
参考链接:
- Spring boot中mongodb的使用
https://github.com/ityouknow/spring-boot-examples/tree/master/spring-boot-mongodb - MongoDB 插入文档
http://www.runoob.com/mongodb/mongodb-insert.html - Windows 下安装 MongoDB
https://vxhly.github.io/2017/05/install-mongodb-on-windwos/ - mongodb和spring集成中MongoTemplate的总结是使用方法
https://blog.csdn.net/ruishenh/article/details/12842331 - Mac OSX 10.9.4下使用Homebrew安装MongoDB
http://www.inferjay.com/blog/2014/07/18/use-homebrew-install-mongodb-at-the-mac-osx-10.9.4/ - 在Mac上安装MongoDB
https://luckymrwang.github.io/2017/01/17/%E5%9C%A8Mac%E4%B8%8A%E5%AE%89%E8%A3%85MongoDB/ - Mac OX上安装MongoDb
https://fantasykai.cc/2017/08/24/mac/Mac%E4%B8%8A%E5%AE%89%E8%A3%85Mongo/ - Spring Data MongoDB
https://blog.csdn.net/column/details/15996.html - Spring Boot中使用MongoDB数据库
https://blog.yoodb.com/yoodb/article/detail/1422 - Spring Boot 揭秘与实战(二) 数据存储篇 – MongoDB
http://blog.720ui.com/2016/springboot_02_data_mongodb/
=END=
《 “SpringBoot访问MongoDB数据库” 》 有 11 条评论
RCE with spring-security-oauth2 分析-【CVE-2018-1260】
https://xz.aliyun.com/t/2330
https://pivotal.io/security/cve-2018-1260
`
漏洞公告
环境搭建
漏洞分析
补丁浅析
资料
`
CVE-2018-1260|Spring-security-oauth2远程命令执行
https://mp.weixin.qq.com/s/g2d34avm-H_nhBqQFUF7hw
Springboot+Redis 配置和使用
https://blog.csdn.net/ai88030669/article/details/78686403
Spring Boot 系列 | 第五篇:使用Redis
https://blog.csdn.net/u012943767/article/details/79360748
spring boot(三):Spring Boot中Redis的使用
https://www.cnblogs.com/ityouknow/p/5748830.html
https://github.com/ityouknow/spring-boot-starter/tree/master/spring-boot-web
读取Spring的XML配置文件的几种方法
https://www.cnblogs.com/sprinng/p/5622600.html
https://stackoverflow.com/questions/29173614/loading-applicationcontext-xml-when-using-springapplication
`
@ImportResource(“classpath:applicationContext.xml”)
//或
BeanFactory beanFactory = new ClassPathXmlApplicationContext(“applicationContext.xml”);
`
配置文件加密实践
https://blog.viakiba.cn/2018/08/26/%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E5%8A%A0%E5%AF%86-(Spring)/
spring、spring-boot配置文件属性内容加解密
https://yq.aliyun.com/articles/182720
spring boot 引起的 “堆外内存泄漏”
https://mp.weixin.qq.com/s/73whP7E3SIB5mn_TLrqT_w
利用神器BTrace 追踪线上 Spring Boot应用运行时信息
https://mp.weixin.qq.com/s/NH7ck79I3U0bJTEv37aECw
`
BTrace 可用于动态跟踪正在运行的Java程序,其原理是通过动态地检测目标应用程序的类并注入跟踪代码 ( “字节码跟踪” ),因此可以直接用于监控和追踪线上问题而无需修改业务代码并重启应用程序。
BTrace 的使用方式是用户自己编写符合 BTrace使用语法的脚本,并结合 btrace命令,来获取应用的一切调用信息,就像下面这样:
/bin/btrace
其中 为被监控 Java应用的 进程ID
为 根据需要监控的信息 而自行编写的 Java脚本
`
spring mvc获取IP地址
https://blog.csdn.net/duzhanxiaosa/article/details/43833973
`
* 获取访问者IP
*
* 在一般情况下使用 Request.getRemoteAddr() 即可,但是经过Nginx等反向代理软件后,这个方法会失效。
*
* 本方法先从Header中获取X-Real-IP,如果不存在再从X-Forwarded-For获得第一个IP(用,分割),
* 如果还不存在则调用 Request.getRemoteAddr() 。
`
如何获取Spring Boot项目中的连接端IP地址?
https://stackoverflow.com/questions/22877350/how-to-extract-ip-address-in-spring-mvc-controller-get-call
`
使用 HttpServletRequest.getRemoteAddr() 获取(在方法参数中添加 HttpServletRequest 即可),
不要用 headers.get(“X-Real-IP”) 等方式。
`
https://en.wikipedia.org/wiki/X-Forwarded-For
https://howtodoinjava.com/tomcat/tomcat-get-real-ip-behind-load-balancer/
Java获取HTTP请求的真实IP
https://blog.csdn.net/zebe1989/article/details/82692315
http://www.zebe.me/java-get-real-ip/index.html
`
不断尝试解析 HttpServletRequest 对象,先后获取:
X-Real-IP
X-Forwarded-For
// 其它的企业内部自定义header标识
`
补习系列(16)-springboot mongodb 数据库应用技巧
https://mp.weixin.qq.com/s?__biz=MzAwNjY3MjgzOA==&mid=2477610491&idx=1&sn=b7cdef0b977cd30aa2a0dfd02defbab2
`
一、关于 MongoDB
二、Spring-Data-Mongo
三、整合 MongoDB CRUD
A. 引入框架
B. 数据库配置
C. 数据模型
D. 数据操作
E. 自定义操作
四、高级技巧
1. 连接池配置
2. 去掉_class属性
3. 自定义序列化
4. 读写分离
`
spring-boot-plus集成Spring Boot 2.1.6,Mybatis,Mybatis Plus,Druid,FastJson,Redis,Rabbit MQ,Kafka等,可使用代码生成器快速开发项目
https://github.com/geekidea/spring-boot-plus
https://springboot.plus
Spring Boot项目使用maven-assembly-plugin根据不同环境打包成tar.gz或者zip
https://github.com/geekidea/spring-boot-assembly
https://geekidea.io/spring-boot-assembly/