使用EasyExcel操作Excel
一、导入依赖12345<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.1.1</version> </dependency>
二、编写实体类用于接收Excel表中的信息
123456789101112131415@Datapublic class ExcelSubjectData { // 第一列对应的属性(用于读) @ExcelProperty(index = 0) // 表头对应的名称(用于写) @ExcelProperty("一级分类") private String oneSubjectName; // 第二列对应的属性 @ExcelProperty(index = 1) // 表头对应的名称(用于写) @ExcelProperty(" ...
微信二维码登录
前期准备当然你需要有微信认可的资质
官方参考这里微信官方给出的获取access_token(其中包含了一些用户信息)的时序图
这里附上微信开发文档 | 微信登录部分。成功获取acces_token字符串后,我们自己解析就能获取用户相关信息了。
实践代码相关依赖1234567891011121314151617<!--httpclient--> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> </dependency> <!--commons-io--> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</a ...
网页实现发送邮箱验证码
一、前期准备一个邮箱,并且开通了SMTP服务参考:邮箱如何开启POP3/SMTP服务
二、相关依赖项目依托于springboot,部分依赖不作声明
1234567891011121314151617181920212223242526<!-- redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId> spring-boot-starter-data-redis </artifactId> </dependency> <!-- spring2.X集成redis所需common-pool --> <dependency> <groupId>org.apache.commons</groupId> <ar ...
Spring注解驱动开发之AOP
Spring注解驱动开发系列:
Spring 组件注册
Spring Bean的生命周期
Spring属性赋值
Spring自动转配
Spring注解驱动开发之AOP
Spring注解驱动开发之AOP面向切面编程,不改变原有代码的前提下,进行功能增强。
@EnableAspectJAutoProxy在配置类上加上此注解,开启增强类的自动代理
@Aspect标在类上,声明这是一个增强类
具体的切入点注解@Before标在方法上,在被增强方法执行前调用
其中,传入切入点表达式
相似的还有@After、@AfterReturning、@AfterThrowing、@Around,分别在方法执行后(无论正常结束还是异常退出),方法正常执行返回后,方法出现异常后,而@Around可以自由的在方法执行前后切入
具体的细节请看示例
首先,模拟一个已有方法
1234567@Componentpublic class DivTest { public int div(int i, int j){ System.out.println("DivTe ...
用Java编写飞机大战小游戏
项目简介此项目是bilibili软帝学院的教学项目,由纯Java编写。本博客仅为记录自己遇到的一些错误,同时尽力帮助同时在做类似游戏的同学。原项目链接:Java小游戏制作:三国战记\捕鱼达人\飞机大战\飞扬小鸟
小知识点窗体、面板方面
创建窗体
设置标题 setTitle(“标题”);
设置窗体大小 setSize(宽,高);
设置不允许玩家改变窗体大小 setResizable(false);
设置窗口关闭时自动停止程序 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
创建面板
设置面板的可见性 frame.setVisible(true);
将面板加入到窗体中 frame.add(panel);
线程方面创建并启动一个线程,控制游戏场景中活动的物体固定格式
12345new Thread(){ public void run(){ 线程需要做的事 } }.start();
键鼠监听器鼠标监听器 鼠标移动事件mouseMoved(MouseEvent ...
