- 博客(88)
- 收藏
- 关注
原创 Shiro的login究竟经过了哪些类和方法
Subject.login设计的类和方法Controller中我们使用subject.login(token)来执行登陆操作DelegatingSubject.login中使用securityManager.login(this.token)DefaultSecrityManager(这里我注入的是这个secrityManager,也可以自定义).login中使用authenticate(...
2019-06-13 12:58:59
2020
原创 spring-boot遇到的问题(未解决)
在自定义的properties文件下,读不到要载入的占位符的值,而后因为这两个值距离同前缀的值距离较远(放在文件末尾其他的在中间位置)改变了这个值在文件中的位置,成功读入,一脸懵逼。...
2019-04-28 15:18:41
189
原创 LaTex相关
支持中文\documentclass[UTF8]{article}\usepackage{ctex}支持缩进的包和缩进\usepackage{indentfirst}\noindent \indent插入图片\usepackage{graphicx}\includegraphics[scale=0.3]{project.png}插入代码(java)\us...
2019-04-26 23:27:31
268
原创 ThreadLocal相关
ThreadLocal中的ThreadLocalMap是去找Thread里的属性threadLocals,所以每一个Thread会有一个threadLocals,里面存放着各个ThreadLocal的相关信息。ThreaLocalMap里的存值方式是一个Entry的数组,保存多个ThreadLocal的值。在每次get和set都会使用垃圾回收机制来防止内存泄漏(源码很好看)可以实现线程上下...
2019-04-24 13:01:23
183
原创 Spring-cloud相关问题
可以用Restration…getServiceId()来获得当前服务(也就是这个微服务)的ID可以用DiscoveryClient.getInstances(服务的ID)来获得特定服务的所有实例(实例就是一个微服务可以跑好多个,放在不同端口中,其他代码都一样)在做高集群多个服务注册中心时,千万要记住eureka.instance.hostname不能一样,spring.applicatio...
2019-04-20 19:58:48
212
原创 JMS和ActiveMQ
Jms是消息的传递队列,可以有点对点的传输,ActiveMQ是Jms思想的一个实现。可以用作消息的传输,远程的控制需要在pom.xml中引入:<dependency> <groupId>org.springframework</groupId> <artifactId>spring-jms&l...
2019-04-20 19:36:08
137
原创 碰到关于Redis的问题
在不使用redis.clients.jedis.Jedis这一系列包时,可以使用org.springframework.data.redis.core来管理redis,常用的有:StringRedisTemplate.boundHashOps(key)BoundHashOperations.increment...
2019-04-20 19:28:59
194
原创 设计模式和线程设计模式
Volatile:可见性和顺序性,不保证原子性单例模式监控线程生命周期的ObservableSingle Thread Execution设计模式读写锁分离设计模式,拓展:StampedLock
2019-04-17 11:42:05
229
原创 关于springmvc的数据交换
可以使用MultipartFile来获取上传的文件,其中包含了文件名和二进制数据流可以使用MultipartRequest来接收有关上传业务的请求,从而得到MultipartFileMultiValueMap来获取一个键对应多个值的数据结构...
2019-04-16 17:25:20
242
原创 Mybatis的一些使用
在Mybatis的映射中有可能会用到很多外部的类,经常使用全名会导致代码繁琐,所以在application.properties中mybatis.type-aliases-package属性中设置,可以设置多个别名路径...
2019-04-16 17:18:26
446
原创 需要学习的内容
数据库Redis, MySql,后端框架Spring-boot Spring安全框架Shiro,MD5加密基础高并发基础,回调,设计模式微服务Spring-cloud
2019-04-15 18:36:26
173
原创 spring-boot相关问题
@RestController相当于@Controller和@Response@RequestMapping可以被@PostMapping和GetMapping替代
2019-04-15 18:31:37
222
原创 关于打包放在maven依赖库的自定义包中的问题(Spring-boot)
一些在开发过程中,使用自己定义的包时可能遇到的问题1.properties问题 1. spel的资源文件不光在application.xml中可以配置使用,也可以在pom.xml中配置使用,还可以指定多个资源文件,而指定其属于不同的profit从而灵活使用环境 2. 所谓的自定义包可能原来是一个小的项目,在其中放入如env.properites这中spel的占位符可能没有问题,但是其成为...
2019-04-15 18:28:40
615
原创 Spring学习6(6)基于java类,Groovy,编码的方式对Bean进行配置
Spring学习6(6)基于Java类的配置使用Java类提供Bean的定义信息 普通的PoJo只要标注了@Configuration注解就可以为Spring容器提供Bean的定义信息,每个标注了@Bean的方法都相当于提供了一个Bean的定义信息代码如下:package com.smart.conf;import org.springframework.context.annotati...
2018-10-23 17:57:21
371
原创 Spring学习6(5):FactoryBean及使用注解配置
Spring学习6(5)FactoryBean Spring通过反射机制利用<bean>的class属性来指定实现类的方法在Bean的实例化过程较为复杂时会增加编码繁琐度。故此Spring提供了一个org.springframework.beans.factory.FactoryBean工厂类接口,用户可以通过实现该工厂类接口定制实例化Bean的逻辑。 在spring3.0以后,...
2018-10-22 20:11:26
2718
原创 Spring学习6(4)方法注入,bean之间的关系,多配置文件的整合,bean的作用域
Spring学习6(4) 在上一篇笔记中述写了spring配置bean的基本格式和方式后,这篇笔记的主要内容是继续了解bean配置的一些进阶的功能和基本概念。方法注入 假设Boss配置为单例模式(一个容器中只存在一个实例的bean),如果我们希望每次调用Boss Bean的getCar()方法都能得到一新的car Bean,使用传统的注入就无法实现这样的要求了,因为boss是单例的。 我们...
2018-10-21 22:34:42
223
原创 Spring学习6(3)注入参数详解
Spring学习6(3) 在spring配置文件中,用户不但可以将String,int等字面值注入Bean中,还可以将集合,Map等其他类型的数据注入Bean中,还可以注入其它定义的Bean。字面值 字面值一般是指可用字符串表示的值,这些值可用&lt;value&gt;元素标签进行注入。基本数据类型及其封装类,spring类等都可以采用字面值注入。 spring可以将字符串表示的字面值转化...
2018-10-16 11:39:33
343
原创 Spring学习6(2)依赖注入
Spring学习6(2) Spring支持三种依赖注入方式,分别是属性注入和构造函数注入,工厂方法注入,这里将了解不同依赖注入函数的具体配置方法。属性注入 所谓的属性注入就是通过setXXX()方法来注入Bean的属性值或依赖对象,其灵活读高,是实际应用中最长采用的方式。属性注入实例 属性注入要求Bean提供一个默认的构造函数,并为注入的属性提供对应的Setter方法。过程是先实例化对象...
2018-10-14 16:22:10
700
原创 Spring学习6(1)Spring配置概述以及Bean基本配置
Spring学习6(1) 学习5中主要学习的是Ioc的容器的整体概念,这里(即是书中第5章)主要开始对Bean的配置进行学习。Spring配置概述Spring容器高层视图 要使应用程序中的Spring容器成功启动,需要同时具备以下三方面条件:Spring 框架的类包都已经放到应用程序的类路径下应用程序为spring提供了完备的Bean配置信息Bean的类都已经放到应用程序的类路径下...
2018-10-14 14:39:44
195
原创 Spring学习5(3):Bean的生命周期
Spring学习5(3) Bean生命周期由多个特定的生命阶段组成,每个生命阶段都开出接口,允许外界由此对Bean施加控制。 在spring中有两个层面来定义Bean的生命周期,一个是Bean的作用范围,一个是实例化Bean时所经历的一系列阶段。BeanFactory中Bean的生命周期生命周期图解 具体调用过程如下:当调用getBean()来请求某一个Bean时,如果容器注册了o...
2018-10-13 13:49:09
2400
原创 Spring学习5(2)BeanFactory和ApplicationCotext
Spring学习5(2)基本介绍 Spring通过配置文件来描述Bean和Bean之间的依赖关系,利用java来对Bean实例化并建立Bean之间的依赖关系。 BeanFactory是spring框架最核心的接口,它提供了高级IoC的配置机制,它使管理不同类型的java对象成为可能。 ApplicationContext建立在BeanFactory基础之上,提供了更多面向应用的功能,更易于...
2018-10-11 10:53:34
645
原创 Spring学习5(1):IoC容器之IoC概述,JAVA反射机制,资源访问器
spring学习5(1) 在经过了对spring框架基本开发的了解以及对spring boot流程的学习,《精通spring4.x…》这本书正式开始了spring的讲解,我也跟随着这本书的脚步进行学习。IoC概述 首先需要学习的是spring的IoC技术,IoC全称是Inverse of Control,是spring容器的内核。IoC的基本意义 即是将一个接口具体实现类的控制权从调用的...
2018-10-08 20:58:32
312
原创 Spring学习4(2):Spring Boot的三层次
Spring学习4(2)&amp;mesp;相同于spring的开发流程spring boot也是遵循持久层,业务层和展现层这三个层次的流程开发的。持久层初始化配置 在持久层上,最重要的就是数据库的操作。spring框架有好多可选的数据库操作方式,可以直接如我们在学习3中使用spring内置的jdbcTemplate:启动器为spring-boot-starter-jdbc;也可以使用第三...
2018-10-05 21:19:11
4138
原创 Spring学习4(1):spring boot配置
Spring学习4(1) Springboot是用来简化spring开发的全新框架,我们通过重新实现spring学习3中的例子来熟悉体会springboot的开发流程。该框架使用了特定的方式来进行配置,使得我们可以节省配置的时间,专注于核心业务开发。Spring Boot简介Spring Boot启动器 Spring Boot是由一系列启动器组成的,这些启动器构成一个强大的助手。我们根据项...
2018-10-04 17:20:40
155
原创 Spring学习3(3):展现层
Spring学习3(3) 在经过业务层和持久层的实现后,需要给整个项目一个可视化的页面。Spring MVC就是spring本身提供的展现层框架,其功能强大,可以和spring配和的天衣无缝。展现层配置Spring MVC框架 首先要对web.xml进行配置,从而使启动web的时候就会启动spring容器。在main目录下创建一个webapp目录而后下一层创建一个WEB-INF目录,最后在...
2018-10-03 20:44:00
439
原创 Spring学习3(2):Login页面之业务层
Spring学习3(2) 业务层就就是将持久层的Dao组织起来,完成Dao所定义的各种操作。本例中只有一个业务层:UserService完成用户登录,密码认证和登录日志记录操作。业务层UserService UserService有3个业务需要完成,分别是检验用户名和用户密码的正确性,以用户名为条件加载对象,以及用户登录成功后,更新最后的登陆时间和IP信息,同时记录用户登录日志。 在co...
2018-09-29 14:36:25
357
原创 Spring学习3(1):Login页面之持久层
Spring学习3 maven的配置其实是不繁琐的,在学习了基本的环境配置后就可以正式对spring的业务层,持久层,展现层进行一个基本的了解。我是根据《精通Spring 4.x 企业应用开发实战一步步做的》,不过这本书所用的工具可能有一点和我所使用的不同(我的编辑器是eclipse。基本配置 由于是一个用户登陆页面,所以我们需要如下页面:login.jsp:用来进入登陆页面并且提交用户...
2018-09-28 13:16:27
288
原创 Django学习8:session(注册登陆)
Django学习 session是开发中不可避免的组件,我们可以使用session来存储,检索,发送接收cookies。启用sessions sessions通过一些中间件来实现。首先在setting.py的 “middleware” 的setting中确保 ‘django.contrib.sessions.middleware.SessionMiddleware’ 存在,同时在 “inst...
2018-09-25 13:10:14
957
原创 Django学习7:admin
Django学习7 在学习2中,介绍了关于admin的regist现在我们可以自定义admin的外观和表达的内容。step1:定制admin form 在polls/admin.py中,我们使用了admin.site.register(Question)这个方法让admin自己来生成关于Question的form,接下来我们修改这里的代码重新排列question_test和pub_date的...
2018-09-21 14:43:27
150
原创 Django学习6:static files
Django学习6 在完成了test的设计之后,我们需要给页面加上样式和图片,这些images,js,css的样式在Django中被称为“static files”。 首先我们需要在polls目录下创建一个static目录,Django就会到这个目录下去寻找static files。和template类似的,如果我们想创建一个style.css的文件那它的目录路径将会是“polls/stati...
2018-09-21 12:43:06
265
原创 Django学习5:test
Django学习5 在平时测试代码的效用的时候通常会造成一系列的麻烦,消耗大量的时间,所以jiango提供了一个automated test。这些test可以发现错误的位置,它可以让代码更加通透,更易阅读。step1:第一个test 在例子中的这个项目是存在bug的如Question这个model的"was_published_recently"这个function中如果创建时间大于当前时间...
2018-09-21 12:06:22
613
原创 Django学习4:form, generic views
Django学习4 在经过前三节的学习后,基本了解了数据库的连接,views的使用,但是还需要了解如何传回数据并处理,这里第四节学习的内容就是如何去用form来获取数据。step1:熟悉form 将polls/detail.html更新为如下代码:<h1>{{ question.question_text }}</h1>{% if error_message %...
2018-09-18 18:39:23
275
原创 Django学习3:views,urls
Django学习3 views是一个面向public的接口,它是项目中提供特定功能的页面。在Django中web的页面以及一些其他的内容都是通过view来表达,Django利用url的检查,拆分来选择views来显示。教程中的polls的项目需要如下几个views:Question索引:用来显示最近发布的Question。Question详情:显示Question的内容以及可以投票的表...
2018-09-17 19:42:28
435
原创 JAVA Spring学习2
JAVA Spring之Maven 由于Spring框架会产生很多依赖,所以需要用maven来进行管理。 特别注意不要在外部乱下maven,而是直接用eclipse中的插件比较好。如果真的在创建maven时出现了Could not resolve archetype” 问题也不要紧,可以进入windows->preferences->maven->archetpes-&g...
2018-09-16 16:43:14
160
原创 JAVA Spring环境配置及HelloWorld
java spring学习一 在学习python Django的同时,java spring作为大名鼎鼎的主流wen应用开发框架是不得不涉及的,这篇学习笔记是对java spring的环境配置进行基本流程的跟踪。step1:安装jdk 先去JDK download 下载java se而后可以参考官方自带安装说明来安装jdk。 这里给出简单的安装步骤:先直接双击安装下载下来的i...
2018-09-15 13:16:09
327
原创 Django学习2:数据库
Django学习2: 作为一个后台开发框架,必不可少的需要用到数据库的链接。Django几乎支持所有的主流数据库。我选择使用mysql作为我的数据库来配置。step1:配置mysql 首先需要配置所需要的数据库类型,默认是sqllite不过这个东西只是一个内嵌的测试数据库,所以需要改变默认的配置。在mysite/setting.py中有一个database{default:{}}动...
2018-09-14 16:50:37
403
原创 Django学习1:第一个页面
Django学习1 Django是python后台开发的一个热门框架,对于一般web开发有较为简洁,快速的特性。step1:安装 Django 鉴于anaconda的集成开发环境,我选择在anconda中安装Django,在环境中安装Django需要如下的命令pip install Django 验证安装使用查看version的方法,如果输入如下命令发现命令错误则安装失败。...
2018-09-12 13:45:07
330
原创 scrapy + selenium + phantom框架流程
scrapy+selenium+phantomjs 在实际应用中发现splash的解析功能可能并没有那么方便,为了方便自动化的管理选自使用selenium即可。phantomjs PhantomJS是一个基于Webkit的”无界面”(headless)浏览器,它会把网站加载到内存并执行页面上的JavaScript,因为不会展示图形界面,所以运行起来比完整的浏览器更高效。 由于P...
2018-05-13 16:20:19
472
原创 scrapy的CrawlSpider和cookie
scrapy的CrawlSpider类 在默认的情况下,scrapy都是继承spider类来进行爬取,但是scrapy还有另一个更好用,更适合大网站的类:CrawlSpider。可以说到了爬虫后期学习对网站级的爬取就是必须要用crawlspider类了。 这个实例就是吧所有的中国慕课里的网站爬下来。url='https://www.icourse163.org/'步骤零 由...
2018-05-06 20:06:39
1488
原创 scrapy的登陆学习——git
scrapy的登陆学习 目前极大多数网站的有用信息都是需要登陆获取的,这里先学习下git的普通登陆(学习他人),后续学习知乎的登陆(验证码的处理,学习他人)以及B站的登陆和视频的爬取(自我探索),一些网站的登陆和全网站资源爬取(学习他人+自我探索)。url = 'https://github.com/login'步骤:分析网站需要提交的内容找寻隐藏元素学习使用Form...
2018-04-15 16:34:21
340
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人