Java
BOWWOB
社畜
展开
-
Spring Bean生命周期
结果图(总共7个阶段):原来的5个过程+两个后置处理器在init前和后的流程原创 2021-04-18 01:28:01 · 130 阅读 · 0 评论 -
Spring IOC
IOC xml初始化beanIOC xml初始化bean的方式使用:反射,解析xml,工厂模式解析xml的方法:xml中bean自动加载方式:在bean标签中有个属性为 autowire=“byType” or “byName”在已有的bean中自动加载xml创建bean的属性初始化为null:<property><null></null></property>xml创建bean的属性初始化为需要转义的值:<pr原创 2021-04-17 17:19:25 · 117 阅读 · 1 评论 -
Git使用
Git bash就是一个命令行,学过linux和windows命令行操作的完全可以使用以前的操作。多了一些Git特有的指令.看图说话:git就是一个仓库,分成三个状态位置最后提交到Git仓库后,才可以提交到远程github上托管操作:随便在一个文件夹里面 右键打开git bashgit init初始化当前文件夹作为一个仓库cd到X文件(准备传上去的文件)同一级目录下。配置仓库:(注意把https改成 http,去掉加密)git remote add origin github空原创 2021-04-16 12:35:26 · 64 阅读 · 0 评论 -
SpringBoot-02
properties转yml网站:www.toyaml.com/index.html整合thymeleaf:①引入依赖②配置ymlspring: thymeleaf: prefix: classpath:/templates/ mode: LEGACYHTML5 encoding: utf-8 content-type: text/html cache: false解决html误报红问题:后端传参可以使用map传参热部署(类加载原创 2021-04-13 01:04:53 · 103 阅读 · 0 评论 -
SpringBoot-01
pom引入parent 提供依赖管理,引入其它依赖dependency的时候可以不需要提供版本version信息<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.7.RELEASE</version> <rel...原创 2021-04-12 22:20:57 · 89 阅读 · 0 评论 -
常见的设计模式
https://www.runoob.com/design-pattern/design-pattern-tutorial.html设计模式:1.简单工厂模式:(静态方法) 2048小游戏,计算器2.装饰者模式:Thread thread=new Thread(()->System.out.println());3.代理模式: 把real类当作proxy类的属性,进一步封装,两个类都初始化,实际调用real类的方法。4.工厂方法模式:(非静态方法) 2048小游戏,计算器5.单例模式:静原创 2021-04-10 13:45:54 · 511 阅读 · 0 评论 -
Java 反射 02
承接上一篇:基本的注解:重载,忽略警告,标记过时三个注解就不细说了。设计注解的时候会使用到元注解:Target,Retention自定义注解:package com;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;//可以用原创 2021-04-08 03:53:27 · 86 阅读 · 0 评论 -
Java 反射 01
一。反射技术应用场景:1.JDBC加载驱动连接 Class.forname2.Spring 容器框架IOC实例化对象3.自定义注解生效(反射+Aop)4.第三方核心框架二。设计一个框架 设计技术点:反射机制,自定义注解,一部分设计模式,Aop技术三。获取类,对象,属性实例。package com;import java.io.IOException;import java.lang.reflect.Constructor;import java.lang.reflect.Field;原创 2021-04-08 02:52:03 · 299 阅读 · 0 评论 -
jdk的环境变量配置流程
1.下载1.8jdk2.右键计算机属性①高级系统设置②环境变量3.JAVA_HOME填入E:\jdk1.8\jdk1.8.0_774.classpath填入%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%MAVEN_HOME%\bin5.path 添加两条%JAVA_HOME%\bin%JAVA_HOME%\jre\bin6.打开cmd命令直接输入java -version然后出现版本信息即为成功...原创 2020-12-19 21:16:08 · 100 阅读 · 1 评论 -
java注解简单记录-笔记
注解的类型是@Interface//重写父类方法@Override//标记为过去的(过时的)东西@Deprecated//抑制警告(消除编译器给出的警告)@SuppressWarnings//帮助生成API@Documented //@Target//@Repeatable//保留时间@Retention//与@Documented 注解一样, 它只是起标记作用,// 此注解声明的时候内部没有定义函数, 所以在使用时不需要传递参数.@Inherited...原创 2020-06-28 20:04:28 · 115 阅读 · 0 评论 -
论坛项目中的各种注解来源
Spring Springmvc//拦截所有对应的Request@RequestMapping//注明为controller@Controller//拦截所有对应的(get)Request@GetMapping//拦截所有对应的(Post)Request@PostMapping//自动填装@Autowired//标注为Dao层@Repository//标注为Service层接口@Service//通过前端名字获取数据@RequestParam//通过请求中的数据传递,使用该原创 2020-06-27 21:30:29 · 147 阅读 · 0 评论 -
ORM思想 JDBC规范 hibernate Jpa规范 Spring Data Jpa
本篇文章为黑马程序员传智播客的记录,方便自己复习简单介绍:ORM思想:Object Relationship Mapping -----对象关系映射目的:操作POJO(实体类)等价于操作数据库的表①POJO类和表的映射关系②POJO类中属性与表中字段的映射关系JDBC:只需要修改一下连接接口的规则和其他的少量的地方即可使用多个数据库hibernate:一个开源的对象关系映射框架,他对JDBC进行了非常轻量级的对象封装,他将POJO(实体类)与数据库的表建立映射关系,是一个全自动的OR原创 2020-06-26 15:35:04 · 200 阅读 · 0 评论 -
java 测试 内部类+匿名内部类
**代码里面有详细解释:内部类以及内部类成员变量**类p1//外部类public class p1 {// 外部类变量 private Integer num=100;// 外部类方法 public void method1(){ System.out.println(" p1 method1"); }// 内部类 public class p1p1{// 内部类变量 private Inte原创 2020-06-25 21:50:59 · 323 阅读 · 0 评论 -
关于Spring data JPA中的onetomore 的级联操作
/*删除主表数据有从表数据1.在默认情况下,会先把外键字段设置为null,再删除主表数据。因此如果在数据库的表结构上,外键字段有非空约束,默认情况就会报错。2.如果配置了放弃维护关联关系,则与设不设置非null就没有关系,一定不能删除。3.最后如果需要删除,则需要进行使用级联删除引用。无从表数据没有限制,可以随便删除级联操作:案例:客户和联系人的案例(1对多的关系) 客户:一家公司 联系人:这家公司的员工 一个客户可以具有多个联系人 一个联系人从属于一家公司分析原创 2020-06-24 13:45:18 · 350 阅读 · 0 评论 -
JPA多条件查询+分页+局部刷新
使用多条件查询:①实体类//标明为实体类@Entity//命名为一张表,如果DB中没有则添加一张表,若有则更新字段,//name可以设置表名,若不设置,则与类同名@Table(name="t_collection")public class Collect { //标明为主键 @Id //自动增长(其中的一种写法) @GeneratedValue private Long id; private Long userid; private Lon原创 2020-06-24 01:29:54 · 405 阅读 · 0 评论 -
大创项目-薅羊毛-day10
10天(除去考试前的几天用来复习),完成了预期的大部分功能,剩下一些功能。我们使用的是Idea 2019-02版mysqljdk1.8Spring boot + Jpa + thymeleafs + element-ui做的是一个小型校园学习交流论坛。实现的功能:游客:1.浏览论坛首页等。2.浏览帖子内容3.注册普通用户:1.浏览论坛首页等。2.浏览帖子内容3.普通用户登录4.发帖5.回复6.收藏7.取消收藏8.注销9.修改密码.查询帖子.查看收藏夹.查看自己原创 2020-06-24 00:54:34 · 296 阅读 · 0 评论 -
JPA自定义删除操作-删除id最小记录
1.记录max50条先统计A ==50?删尾部B:不做加信息2.如果是同样的记录C(同一个帖子)先删掉再加综上:先判断是否同样(因为我每次都保证不超过50)if(same){删掉相同}else{if 50删尾}addAfindall 搞一个listarray.length(),搞定B后加的编号大满足队列结构(先加的应该先删)升序第一个元素就是应该要删的。大致如此Repository:@Modifying@Transactional@Query("delete原创 2020-06-16 15:02:33 · 493 阅读 · 0 评论 -
写spring项目中发现的算法问题
算法的重要性(地位)最近几天在做一个遗留的大创项目-校园论坛,在github上搜了一个雏形,进行代码的研究,Idea下Spring,Mavem,JPA数据库,Thymeleafui, elements Fragmets写前端。由于种种原因,剩下二十多天要结项了,几乎处于启动阶段,我不想浪费掉这次机会,所以叫上另一个小伙伴一起在这二十多天里,想要做出一个满意的项目上交审核,之前是相当于看过一遍spring mvc 和 mybatis的视频,有了一定的了解(做了笔记)。只写过登录注册。今天我们原创 2020-06-15 00:09:58 · 376 阅读 · 0 评论 -
薅羊毛项目day1续
由于mysql和navicat连接出问题和无法继续进行下去,因此考虑用熟悉的SqlServer。安装SqlServer。原创 2020-06-12 05:37:28 · 179 阅读 · 0 评论 -
薅羊毛项目day1
1.idea已经安装好了-IntelliJ IDEA 2019.1.4 x642.开始安装mysql通过B站保姆式教程①官网下载传送门②红色箭头选择系统,黑色箭头下载。3.创建一个文件拓展名为ini的文件 my.ini4.把下面这段配置装进去[mysqld]character-set-server=utf8#绑定IPv4和3306端口bind-address = 0.0.0.0port = 3306sql_mode="STRICT_TRANS_TABLES,NO_ENGINE_SU原创 2020-06-12 00:51:50 · 230 阅读 · 0 评论 -
JavaOS多线程安全问题
先上一段代码:/* tickey.java*///创建tickey类实现Runnerble接口,重写run方法,没有任何保护措施public class tickey implements Runnable{ //定义100张票 private int nums=100; @Override public void run(){ //有票时 while(nums>0){ //打印后自减 Sy原创 2020-06-11 15:34:27 · 145 阅读 · 0 评论 -
java线程笔记
先演示一次多线程结果://第一个线程类, 使用实现Runnable接口//mythread.javapublic class mythread implements Runnable{ @Override public void run(){ for (int i=0;i<3;i++) System.out.println(Thread.currentThread().getName()); }}//第二个线程类,使用extend原创 2020-06-11 10:38:33 · 128 阅读 · 0 评论 -
Java Idea常用快捷键笔记
IDEA的常用快捷键Alt+Enter导入包,自动惨正代码Ctrl+Y删除光标所在行Ctrl+D复制光标所在行的内容,插入光标位置下面ctrl+Alt+L格式化代码Ctr1+/单行注释Ctrl+Shift+/选中代码注释,多行注释,再按取消注释Alt+Ins自动生成代码, toString。get。set等方法Alt+Shift+.上下箭头移动当前代码行Alt+l 打开或关闭项目菜单ctrl + alt + insert创建包创建类ctrl + shift +回车切换到代码中...原创 2020-06-10 18:59:41 · 113 阅读 · 0 评论 -
Java HashMap 和 Hashtable对比
分为三点比较:Hashtable: 特征很像HashMapHashMap不是同步的,线程不安全,但是效率高,如果不需要多线程操作时HashMap当然首当其冲。HashMap可以将null作为键和值,但Hashtable都不能。Hashtable是早起的Map,现在几乎都使用HashMap。...原创 2020-06-10 00:17:55 · 111 阅读 · 0 评论 -
JavaMap容器之TreeMap实现
TreeMap是有序的因此添加元素的时候有要求的。以下是TreeMap的常用操作演示://创建一个类qb 实现Comparable接口 给上泛型class qb implements Comparable<qb>{ private Integer num; private String type; //TreeMap使用的是Comparable 或 Comparator 接口 而不是 equals方法 //同时重写compareTo方法 @O原创 2020-06-09 23:57:14 · 152 阅读 · 0 评论 -
java与C++类似的地方(笔记)
1 java abstract 与 C++ virtual2.java interface类与 C++纯虚函数3.java fina 与 c++ const4.java 深浅拷贝,clone 与 C++ 深浅拷贝5.java TreeSet,c++ set6.java comparator ,c++ cmp函数7.java comparable ,c++ 一元谓词,仿函数8.java char Unicode编码, c++ ASCII编码9.java 数学函数与常量PI的使用,M原创 2020-06-09 10:18:31 · 289 阅读 · 0 评论 -
java一些知识点记录
java对大小写敏感如果main方法正常退出,那么java应用程序的退出代码为0,表示成功的运行了程序。如果希望在终止程序时返回其他代码,就需要调用System.exit 方法。不带参数的println方法打印一个空行Sytem.out.println();4.//** */注视可以用来生成文本5.java是一种强类型语言6.长整形数值有一个后缀(如4000000000L)。十六进制的数值有一个前缀Ox(如0xCAFE). 八进制有一个前缀0,010对应8.显然八进制表示法比较容易混淆,所.原创 2020-06-07 20:08:48 · 148 阅读 · 0 评论 -
Java学习容器之实现类的底层简述
PriorityQueue 堆HashSet 哈希散列表LinkedList 双向链表TreeSet 红黑树ArrayDeque 数组 需要Queue时 ,ArrayDeque 更快。ArrayList OR Vector 数组(动态数组 0.5 : 1速度扩容)Stack 继承于 Vector 数组Vector类的所有方法都是同步的,所以多个线程可以安全地访问一个Vector对象,但是一个线程访问Vector的话,要在同步操作上耗费大量的时间。Arraylist不是同步的.原创 2020-06-05 18:25:27 · 141 阅读 · 0 评论 -
java学习容器之接口实现种类
接口实现种类public static void main(String[] args) { //Queue 3种底层实现类 Queue q0=new LinkedList(); Queue q1=new PriorityQueue(9); Queue q2=new ArrayDeque(9); //Deque 2种底层实现类 Deque dq0=new LinkedList(); Deque dp1=ne原创 2020-06-05 14:36:27 · 140 阅读 · 0 评论 -
java容器接口学习
二级接口:Queue接口:boolean add(E e); //is not full-> add last return true else throw exceptionboolean offer(E e); //is not full -> add last return true else return falseE remove(); //is not empty -> remove front return e else throw exception原创 2020-06-05 13:07:59 · 121 阅读 · 0 评论