java
基础部分
qq_44801336
这个作者很懒,什么都没留下…
展开
-
java启动谷歌浏览器
基本配置 ChromeOptions options = new ChromeOptions(); if(StrUtil.isNotBlank(CrawlerUtil.getValueByKey("chrome.path"))) { //将谷歌软件位置添加到options中 options.setBinary(CrawlerUtil.getValueByKey("chrome.path")); }原创 2020-09-23 10:14:42 · 1675 阅读 · 0 评论 -
json对象的使用
需要将下列文件内容提取数据[ { "id": "1", "parent": "#", "text": "刑事案由" }, { "id": "2", "parent": "1", "text": "危害国家安全罪" } ]提取成下列数据[ { "1": "刑事案由" }, { "2": "危害国家安全罪" } ]具体操作代码如下public void start() { /*使原创 2020-05-19 23:38:39 · 183 阅读 · 0 评论 -
SpringBoot项目中@RequestParam、@PathVariable、@Param的区别?
@RequestParam和@PathVariable的区别@RequestParamRequest URL: http://api.leyou.com/api/item/brand/page?key=&page=1&rows=5&sortBy=id&desc=false@PathVariableRequest URL: http://api...原创 2020-04-29 14:58:31 · 1846 阅读 · 2 评论 -
如何将字符串反转
API实现new StringBuilder(str).reverse()public class Test { public static void main(String[] args) { String str = "ABCDE"; System.out.println(reverseString(str)); } ...原创 2020-04-15 13:37:07 · 182 阅读 · 0 评论 -
将redis添加到项目中
Redis和Mysql的区别mysql是关系型数据库,redis是NOSQL,非关系型数据库。mysql将数据持久化到硬盘,读取数据慢,而redis数据先存储在缓存中,读取速度快mysql作为持久化数据库,频繁访问数据库会在反复连接数据库上花费大量时间。redis则会在缓存区存储大量频繁访问的数据,即先访问缓存。Redis的五大数据类型StringHashListSetSor...原创 2020-04-14 18:13:33 · 1079 阅读 · 0 评论 -
jquery中的异步请求和遍历元素
最重要的第一种方法: $.ajax({ })常用参数url要求为String类型的参数,(默认为当前页地址)发送请求的地址type要求为String类型的参数,请求方式(post或get)默认get。其他http请求,例如putt和delete也可,根据浏览器支持timeout要求为Number类型的参数,设置请求超时时间(毫秒)async...原创 2020-04-05 23:03:04 · 292 阅读 · 0 评论 -
springboot项目使用拦截器完成登录时间控制
功能需求:完成对登录时间的管控1.拦截器的实现(继承HandlerInterceptor类)/** * Spring MVC 中的拦截器对象(可以在后端控制器执行前后进行请求和响应的拦截处理) * @author DELL */@Servicepublic class TimeHandlerInterceptor implements HandlerInterceptor { ...原创 2020-04-02 17:14:53 · 736 阅读 · 0 评论 -
Shiro中记住我功能
登录网站在页面选择"记住我"然后登录成功,此时关闭页面可以直接通过地址无需登录直接访问登录后的内容页面需要的代码function doLogin(){ var params={ username:$("#usernameId").val(), password:$("#passwordId").val(), isRememberMe:$("#rememberId").p...原创 2020-03-31 13:21:58 · 229 阅读 · 0 评论 -
java四种引用
强引用,弱引用,软引用,幽灵引用强引用就算调用GC,强引用不能被回收class ClassA{ /** * 对象在销毁前会检测对象中有没有重写finalize方法,有的话会 * 先调用finalize()方法。 * @throws Throwable */ @Override protected void finalize()...原创 2020-03-31 12:35:20 · 91 阅读 · 0 评论 -
shiro框架注解配置
配置SecurityManagerSecurityManager即安全管理器,它是shiro的核心,通过SecurityManager可以完成subject的认证、授权等/** * 描述的方法其返回值会交给spring管理 * @Bean 一般应用在整合第三bean资源时 * @return */ @Bean public Securit...原创 2020-03-30 15:02:19 · 383 阅读 · 0 评论 -
集合转数组的业务场景
在程序中,往往得到list,程序要求对应赋值给一个array //基于用户id获取用户拥有的角色(sys_user_role) List<Integer> roleIds = sysUserRoleDao.findRoleIdsByUserId(userId);基于角色id获取菜单id,但是角色id是list,需要转换成数组来作为查询条件//基于角色id获取菜单...原创 2020-03-29 19:17:12 · 156 阅读 · 0 评论 -
org.apache.shiro.web.subject.support.WebDelegatingSubject cannot be cast to com.cy.pj.sys.entity
java.lang.ClassCastException: org.apache.shiro.web.subject.support.WebDelegatingSubject cannot be cast to com.cy.pj.sys.entity.SysUser at com.cy.pj.common.util.ShiroUtil.getLoginUser(ShiroUtil.java:1...原创 2020-03-29 11:09:21 · 857 阅读 · 2 评论 -
java中单例模式一共多少种
个人总结如果确定单例一定会用上,饿汉式合适,不一定用上,懒汉式比较合适一 静态变量方式class Singleton01{ private Singleton01() {} //内部创建实例对象 private static Singleton01 instance = new Singleton01(); //对外提供获取实例方法 public sta...原创 2020-03-27 16:41:24 · 173 阅读 · 0 评论 -
spring中Cache用什么map实现缓存
配置缓存注解版启动类上添加@EnableCaching、具体方法上@Cacheable(value = “menuCache”),value是自定义的为了防止查询数据出现脏读,在关于查询数据的删除数据方法上添加@CacheEvict(value = “menuCache”,allEntries = true)从CacheManager接口中查找public interface Cac...原创 2020-03-27 14:26:04 · 1378 阅读 · 0 评论 -
Spring AOP编程增强表达式
1. Spring中通过切入点表达式定义具体切入点指示符作用bean用于匹配指定包名下类型内的方法执行within用于匹配指定包名下类型内的方法执行execution用于进行细粒度方法匹配执行具体业务@annotation用于匹配指定注解修饰的方法执行1.1 bean表达式应用于类级别,实现粗粒度的控制:bean(“userServi...原创 2020-03-27 13:44:23 · 140 阅读 · 0 评论 -
### Cause: java.sql.SQLException: Connection is read-only. Queries leading to data modification are
报错原因在进行修改数据库的时候出现了这个异常,很明显这个是只读引起的@RequiredLog(operation = “查询用户”)和@Transactional(readOnly = true)其中@RequiredLog(operation = “查询用户”)涉及了保存操作,而在事务上是只读,故报错 @RequiredLog(operation = "查询用户") @Trans...原创 2020-03-26 17:55:32 · 312 阅读 · 0 评论 -
Caused by: java.sql.SQLIntegrityConstraintViolationException:违反唯一约束错误
Caused by: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '汤姆杰克斯' for key 'username' at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:117) at com.mysql.c...原创 2020-03-26 14:16:43 · 5198 阅读 · 0 评论 -
使用jakson的方法将bean对象转为json字符串
导入jar包<!-- 转JSON对象的jar包 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version...原创 2020-03-26 14:07:23 · 147 阅读 · 0 评论 -
spring中aop运用
运用环绕通知查看方法执行时间import lombok.extern.slf4j.Slf4j;import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.Around;import org.aspectj.lang.annotation.Aspect;import org.aspectj.l...原创 2020-03-25 16:33:39 · 77 阅读 · 0 评论 -
java中_wait与notify及线程同步总结
wait重载方法三种wait(lang),wait(),wait(long,int)对于上面三种方法最终都是调用下面代码,不同的是wait()相当于wait(0),只能等待notify或notify最终唤醒而wait(lang)和wait(long,int)是设置wait(timeout)也就是超时时间;public final native void wait(long timeout...原创 2020-03-25 13:55:14 · 180 阅读 · 0 评论 -
springboot中如何引入其他xml文件中的sql
在编写sql语句提取公共部分,以下是一个xml中的情况模糊查询很常用,提取出来供其他sql使用< sql id=“xxx”> < /sql> <!-- 通过sql元素对sql映射中的共性进行提取 --> <sql id="queryWhereId"> from sys_logs <wher...原创 2020-03-24 16:51:22 · 1480 阅读 · 0 评论 -
使用SimpleHash时,需要导入的jar包
使用SimpleHash时,导入此jar包<dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.3.2</version> </dependen...原创 2020-03-23 16:42:53 · 1273 阅读 · 0 评论 -
mysql中嵌套查询(一对多与多对一)
嵌套查询多对一或一对一场景分析基于user表中的deptId查询部门表信息,典型的一对一,即一个deptId查询出一条信息association用于多对一,一对一嵌套查询 <resultMap id="sysUserMap" type="com.cy.pj.common.vo.SysUserDeptVo"> <association property...原创 2020-03-23 14:15:27 · 1359 阅读 · 0 评论 -
mysql一对多嵌套查询
在Vo对象中,有时会用List<其他类属性> xxx来作为属性,这时需要嵌套查询/** * Vo,通过此对象封装角色以及角色对应的菜单id * @author DELL */@Data@ToStringpublic class SysRoleMenuVo { /**角色id*/ private Integer id; /**角色名称*/ ...原创 2020-03-23 08:34:02 · 960 阅读 · 0 评论 -
java多表关联,处理删除和添加
处理添加角色,但是同时添加角色关系表(部门表)的处理方式关系表 部门表同时需要添加数据,/** * 添加角色和部门关系表数据 * @param roleId * @param menuId * @return */ int insertObjects(@Param("roleId") Integer roleId,@Param("menuIds")Integer[] me...原创 2020-03-22 21:12:14 · 2677 阅读 · 0 评论 -
java实现线程的四种方式
实现Runnable接口耦合度低,面向接口编程/** * 实现接口,重写方法,创建Thread对象,创建类对象start()方法启动 */public class Test implements Runnable { @Override public void run() { System.out.println("创建线程的第一种方式"); }...原创 2020-03-22 12:45:49 · 88 阅读 · 0 评论 -
菜单修改时添加上级节点与当前节点冲突问题
此处上级菜单如果修改为当前菜单或当前节点的父节点将会出错系统管理本就是最高节点了产生的问题//zTree确定按钮事件处理函数 function doSetSelectNode(){ //1.获取选中的节点对象 var nodes=zTree.getSelectedNodes(); if(nodes.length==1){ // 选择节点 ...原创 2020-03-21 18:42:54 · 294 阅读 · 0 评论 -
java断言assert扩展、注意事项
注意事项public static void main(String[] args){ TestPerson personObj = new TestPerson("Abner Chai"); String personName = null; assert(personName=personObj.getName()) != null; ...原创 2020-03-21 10:08:21 · 242 阅读 · 0 评论 -
rest软件架构编码风格
多个访问页码的类似代码@RequestMapping("log/log_list") public String doLogUI() { return "sys/log_list"; } @RequestMapping("menu/doMenuListUI") public String doMenuListUI(){ return "sys/menu_list"; }使...原创 2020-03-20 17:15:06 · 190 阅读 · 0 评论 -
sql语句优化之delete
原始版删除单个或多个数据dao层接口写法/** * 基于记录id执行删除业务(有些公司,记录不会 * 直接删除,而是在删除时修改其状态) * @param ids * @return rows */ int deleteObjects(@Param("ids")Integer...ids);接下来是几种sql对比下面写法是原始状态,如果传入0...原创 2020-03-19 20:33:23 · 884 阅读 · 0 评论 -
springboot全局异常处理简单入门
如果不加异常处理会出现一堆代码,一点也不友好"timestamp": "2020-03-19T01:31:15.241+0000", "status": 500, "error": "Internal Server Error", "message": "页码值无效", "trace": "java.lang.IllegalArgumentException: ...原创 2020-03-19 09:40:14 · 163 阅读 · 0 评论 -
springboot配置文件自定义配置数据
先看源码@ConfigurationProperties( prefix = "spring.datasource")public class DataSourceProperties implements BeanClassLoaderAware, InitializingBean {}类似的springboot自动配置public final class SpringPr...原创 2020-03-18 22:25:28 · 215 阅读 · 0 评论 -
springmvc拦截器(2)
HandlerInterceptor和HandlerExceptionResolver上一篇博文介绍了HandlerExceptionResolver,全局try-catch 处理Controller里的异常。而HandlerInterceptor实现Controller拦截,实现pre和post方法首先HandlerInterceptor会执行代码1的preHandle方法,之后是方...原创 2020-03-16 20:05:11 · 96 阅读 · 0 评论 -
springmvc拦截异常处理
controller层模拟异常@Controller@RequestMapping("/user")public class UserController { @RequestMapping("/testException") public String testException() throws SysException{ System.out.prin...原创 2020-03-16 16:59:49 · 88 阅读 · 0 评论 -
ajax请求
successfunction (data, textStatus) { // data 可能是 xmlDoc, jsonObj, html, text, 等等... this; // 调用本次AJAX请求时传递的options参数}type(默认: "GET") 请求方式 ("POST" 或 "GET"), 默认为 "GET"。注意:其它 HTTP 请求方法,如 PUT...原创 2020-03-16 12:41:07 · 106 阅读 · 0 评论 -
springmvc常用注解标签
@Controller控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示。但是光有注解Spring不认识,需要把这个控制器类交给Spring 来管理。 <!-- 开启注解扫描 --> <context:compone...原创 2020-03-14 21:04:00 · 127 阅读 · 0 评论 -
获取原生Servlet的方法
controller方法实现/** * 原生servlet获取 * @param request * @param response * @return */ @RequestMapping("/testService") public String testServlet(HttpServletRequest request, ...原创 2020-03-14 14:35:32 · 172 阅读 · 0 评论 -
springMVC中使用List和Map绑定对象作为参数的使用方法
下面介绍List,Map在实体类被引用如何在控制台输出先给出表单代码,其中有list和map在页面上的处理<form action="param/saveAccount" method="post"> 姓名:<input type="text" name="username"><br/> 密码:<input type="...原创 2020-03-14 13:15:13 · 559 阅读 · 0 评论 -
基于xml配置spring的AOP
xml中主要配置 <!-- 配置账户的持久层 --> <bean id="accountDao" class="com.itheima.dao.impl.IAccountDaoImpl"> <property name="dataSource" ref="dateSource"></property> ...原创 2020-03-11 17:37:06 · 103 阅读 · 0 评论 -
spring框架AOP的xml配置
spring框架AOP即面向切面编程,与以往面向对象是一种相互补充,常见于日志功能和相同代码的抽离添加到业务层xml中配置AOP<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://ww...原创 2020-03-09 20:19:45 · 84 阅读 · 0 评论