- 博客(47)
- 收藏
- 关注
原创 Spring-IOC(二)
3. Bean生命周期:一般bean生命周期五步,bean的后置处理器有七步。2. Bean的作用域:scope属性设置单实例还是多实例。4. autowire自动装配。1. 注解开发需要开启组件扫描。2. 四个注入属性的注解。1. 两种bean类型。5. 引入外部属性文件。3. 完全注解开发实例。.........
2022-08-11 20:54:59
165
1
原创 Spring-IOC(一)
bean的基础创建1. bean标签创建对象id 属性:唯一标识 class 属性:类全路径(包类路径) 创建对象时候,默认是执行无参数构造方法完成对象创建<bean id="user" class="com.my.spring5.User"></bean>2.注入属性:DI依赖注入就是注入属性3.Set方法注入属性<bean id="book" class="com.my.spring5.Book"> <!--使用prope..
2022-08-11 20:53:37
159
原创 Spring-入门介绍
1.Spring框架描述Spring 是轻量级的开源的 JavaEE 框架 Spring 可以解决企业应用开发的复杂性2.Spring 有两个核心部分:IOC 和 AopIOC:控制反转,把创建对象过程交给 Spring 进行管理 Aop:面向切面,不修改源代码进行功能增强3.Spring 特点方便解耦,简化开发 Aop 编程支持 方便程序测试 方便和其他框架进行整合 方便进行事务操作 降低 API 开发难度4.下载地址直达:https://repo.spring....
2022-08-11 20:47:32
141
原创 Vuex基础(二)
Mutations1.更改 Vuex 的 store 中的状态的唯一方法是提交 mutation。包含多个直接更新 state 的方法(回调函数)的对象 被动触发:action 中的 commit('mutation 名称') 每个 mutation 都有一个字符串的事件类型 (type)和 一个回调函数 (handler)。 这个回调函数就是我们实际进行状态更改的地方,并且它会接受 state 作为第一个参数 只能包含同步的代码, 不能写异步代码2. 方法定义与调用//定义...
2022-05-06 16:06:41
320
1
原创 Vuex基础(一)
基本概念1. github地址:https://github.com/vuejs/vuex2. 官网地址:https://vuex.vuejs.org/zh/3. Vuex理解一个专为 Vue.js 应用程序开发的状态管理模式。 对 vue 应用中多个组件的共享状态进行集中式的管理(读/写)4. 状态自管理应用state:驱动应用的数据源,存储的一些状态对象 view:以声明方式将 state 映射到视图 actions:操作状态对象的函数,响应在 view 上的用户输入导致的状
2022-05-06 11:07:56
131
原创 Mybatis-SQL(二)
script<!-- 在带注解的映射器接口类中使用动态 SQL-->@Update({ "<script>", " update Author", " <set>", " <if test='username != null'>username=#{username},</if>", " <if test='password != null'>password=#{password},</i
2022-01-21 22:15:33
55
原创 Mybatis-SQL(一)
条件判断1. if<select id="findActiveBlogLike" resultType="Blog"> SELECT * FROM BLOG WHERE state = ‘ACTIVE’ <!--单个条件判断--> <if test="title != null"> AND title like #{title} </if> <!--多个条件判断--> <if test="author !
2022-01-20 16:18:03
172
原创 idea-解决maven下载jar源码问题
自动下载全局设置勾选如图选项手动下载打开jar包时会提示下载源码下载报错,尝试maven命令下载命令下载打开项目terminal窗口,输入命令mvn dependency:resolve -Dclassifier=sources确保是pom文件的项目路径,否则报错如果xxx.jar下载失败,可以查看本地仓库xxx.jar的文件夹,有一个xxx.jar.lastUpdated 的文件,这个文件是Maven尝试下载但是失败了的记录文件,可以使用编辑器打开查看内容
2022-01-18 08:48:01
1490
原创 Mybatis-Mapper配置(二)
resultMap结果映射1. resultMap标签下子标签constructor - 用于在实例化类时,注入结果到构造方法中 idArg - ID 参数;标记出作为 ID 的结果可以帮助提高整体性能 arg - 将被注入到构造方法的一个普通结果 id : 一个 ID 结果;标记出作为 ID 的结果可以帮助提高整体性能 result : 注入到字段或 JavaBean 属性的普通结果 association : 一个复杂类型的关联;许多结果将包装成这种类型 嵌套结果映射 : 关联
2022-01-17 11:30:34
103
原创 Mybatis-Mapper配置(一)
SQL 映射文件只有很少的几个顶级元素(按照应被定义的顺序列出)cache – 该命名空间的缓存配置。 cache-ref – 引用其它命名空间的缓存配置。 resultMap – 描述如何从数据库结果集中加载对象,是最复杂也是最强大的元素。 parameterMap – 老式风格的参数映射。此元素已被废弃,并可能在将来被移除!请使用行内参数映射。 sql – 可被其它语句引用的可重用语句块。 insert – 映射插入语句。 update – 映射更新语句。 delete – 映射删除语
2022-01-13 09:07:10
1411
原创 Mybatis-Configuration(二)
plugins(插件)1.Plugins概念在某种情况下,需要在执行程序的过程中对某一点进行拦截,并在拦截后做出一系列处理,此时就需要使用一种拦截器。 在 MyBatis 中,对某种方法进行拦截调用的机制,被称为 plugin 插件 插件通过动态代理机制,可以介入四大对象的任何一个方法的执行2. 四大对象Executor(update,query,flushStatements,commit,rollback,getTransaction,close,isClosed) Paramet.
2022-01-12 09:43:00
85
原创 Mybatis-Configuration(一)
Properties(属性)1.Properties文件jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/mybatisjdbc.username=rootjdbc.password=1234562.properties(属性)<!-- mybatis可以使用properties来引入外部properties配置文件的内容; resource:引入类路径下的资源 url:引入网..
2022-01-11 11:59:48
330
原创 Mybatis-入门介绍
几个概念1. Myabtis简单介绍Mybatis是一个半自动化的持久化层的框架 Mybatis是支持定制化sql,存储过程和高级映射的优秀的持久层框架 Mybatis避免了几乎所有的jdbc代码和手动设置参数以及获取结果集 Mybatis可以使用简单的xml或者注解用于配置和原始映射,将接口和java的pojo映射成数据库中的记录2. 几个网址mybatis官网:The MyBatis Blog mybatis官网教程:https://mybatis.org/mybatis-3/zh
2022-01-11 09:08:21
402
原创 Java反射(二)
创建类的对象:调用Class对象的newlnstance() 类必须有一个无参数的构造器,否则就需要传入构造器对应的参数 类的构造器的访问权限需要足够,通常设置为publicpublic void test1() throws IllegalAccessException, InstantiationException { //方式一:默认调用无参构造器 Class<Person> clazz = Person.class; Person obj = clazz.newIns
2022-01-10 16:56:05
274
原创 Java反射(一)
1. 反射概念Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。 加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。2. Class类Class本身也是一个类,Class对象只能由系统建立对象 一个加载的类在JVM中只会有一个Class实例;一个Class
2022-01-10 15:10:11
52
原创 Java网络编程
1.网络编程的目的:直接或者间接的通过网络协议与其他计算机实现数据的交换,进行通讯2.网络编程的主要问题:如何准确的定位网络上一台或者多台主机,定位主机上的特定应用 找到主机后如何可靠高效的进行数据传输3. 网络通信协议的两套参考模型4. 端口号:端口号与IP地址的组合得出一个网络套接字Socket 不同的进程有不同的端口号,被规定为一个16位的整数0~65535。 公认端口:0~1023。被预先定义的服务通信占用(如:HTTP占用端口80,FTP占用端口21,Telnet占..
2022-01-10 13:09:48
200
原创 文件IO流
File相对路径:相较于某个路径下,指明的路径 绝对路径:包含盘符在内的文件或文件目录的路径 路径分隔符:windows是\\;unix是/ File.separator:根据系统动态获取分隔符 File类只涉及到文件或者文件目录的创建,删除,重命名,修改时间和文件大小等方法,并未涉及到写入和读取文件内容的操作,如果需要,则必须使用io流完成基本IO流1.流的三种分类方式流向:输出流和输入流 数据单位:字节流和字符流 流的角色:节点流(文件流)和处理流 抽象基类 .
2022-01-10 09:14:35
138
原创 Vue组件的通信
Prop1.Prop 的大小写 (camelCase vs kebab-case)HTML 中的 attribute 名是大小写不敏感的,所以浏览器会把所有大写字符解释为小写字符。这意味着当你使用 DOM 中的模板时,camelCase (驼峰命名法) 的 prop 名需要使用其等价的 kebab-case (短横线分隔命名) 命名 如果使用字符串模板,那么这个限制就不存在了。<!-- 在 HTML 中是 kebab-case 的 --><blog-post post-t.
2022-01-07 09:12:06
201
原创 Vue组件化编码
Vue创建项目1. 使用vue-cli创建模板项目,是vue官方提供的脚手架工具2. vue-cli的github地址:https://github.com/vuejs/vue-cli/tree/v23. 创建项目命令npm install -g vue-cli:安装vue-cli脚手架 vue init webpack vue_demo:使用webpack模板创建项目 cd vue_demo:进入项目目录 npm install:安装项目需要的依赖 npm run dev:启动vu
2022-01-06 08:56:08
89
原创 Cordova插件获取App权限
1. github地址:https://github.com/NeoLSN/cordova-plugin-android-permissions/2. 安装插件:cordovapluginaddcordova-plugin-android-permissions3.
2022-01-04 10:33:47
1918
原创 Java集合(二)
Map1. Map结构理解Map中的key:无序的、不可重复的,使用Set存储所有的key ---> key所在的类要重写equals()和hashCode() Map中的value:无序的、可重复的,使用Collection存储所有的value --->value所在的类要重写equals() 一个键值对:key-value构成了一个Entry对象,无序的、不可重复的,使用Set存储所有的entry2. HashMap底层实现:以jdk7为例: 实例化以后,底层创建了长度.
2021-12-20 11:06:36
46
原创 Java集合(一)
几个概念1.Collection接口:单列数据,定义了存取一组对象的方法的集合List:元素有序,可以重复的集合 Set:元素无序,不可重复的集合2.Map接口:双列数据,保存具有key-value键值对的集合3. Conllection接口方法retainAll(collection对象):求两个集合交集 removeAll(collection对象):求两个集合差集 toarry():集合转数据 Arrays.aslist(数组):数组转集合 iterator()..
2021-12-20 11:04:17
186
原创 几个常用类
String1. String的特点:String类声明为final的,不可被继承 String实现了serializable接口,表示字符串是支持序列化的 String实现comparable接口,表示string可以比较大小 String内部定义了final char[] value用于存储字符串数据2.String代表不可变的字符序列。简称:不可变性。其主要体现:当对字符串重新赋值时,jvm需要重写指定内存区域赋值,不能使用原有的value进行赋值。 当对现有的字符串进行连接操.
2021-12-09 09:28:55
107
原创 Cordova插件打开文件
1.cordova-plugin-file-opener2github地址:https://github.com/pwlin/cordova-plugin-file-opener2 主要特点 支持多个平台 有打开文件、卸载等方法 只能打开本地文件 android打开文件要手动输入MIME-Types 有权限要求 注意点 打开远程文件还需借助下载插件(如cordova-plugin-file-transfer,但好处是能自定义下载进度条) 需手动输入MIME-Types,.
2021-12-08 15:40:20
824
原创 多线程基础(二)
线程的生命周期新建: 当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建 状态 就绪:处于新建状态的线程被start()后,将进入线程队列等待CPU时间片,此时它已 具备了运行的条件,只是没分配到CPU资源 运行:当就绪的线程被调度并获得CPU资源时,便进入运行状态, run()方法定义了线 程的操作和功能 阻塞:在某种特殊情况下,被人为挂起或执行输入输出操作时,让出 CPU 并临时中止自己的执行,进入阻塞状态 死亡:线程完成了它的全部工作或线程被提前强制性地中止或出现..
2021-12-06 16:17:41
154
原创 多线程基础(一)
几个概念1. 程序为完成特定功能而编写的一组指令的集合 是一段静态代码,静态对象2. 进程程序的一次执行过程,或者说是一个正在执行的程序 是一个动态的过程,从产生,存在执行,到消亡 进程作为资源分配的单位,在运行时为每个进程分配不同的内存区域3. 线程进程进一步细化为线程,一个程序内部的一条执行路径 一个进程的多个线程同时执行,即为多线程 线程作为调度和执行的单位,每个线程拥有独立的运行栈和程序计数器(PC) 线程的开销更小 多个线程共享一个进程中的结构:方法区和堆 分为
2021-12-06 16:16:17
148
原创 面向对象(二)
static1. static修饰属性:静态变量(类变量)静态变量:多个对象共享同一个静态变量。当通过某一个对象修改静态变量时,会导致其他对象调用此静态变量时,是修改过了的。 静态变量随着类的加载而加载。可以通过"类.静态变量"的方式进行调用 静态变量的加载要早于对象的创建,由于类只会加载一次,则静态变量在内存中也只会存在一份(存在方法区的静态域中)。只有在jvm关闭或内存不足时才会消失。2. static修饰方法:静态方法(类方法)随着类的加载而加载,可以通过类.静态方法的方式调用,非静
2021-12-06 13:27:21
163
原创 面向对象(一)
一些概念1. 面向过程Procedure Oriented Programming 强调是功能行为,以函数为最小对象,考虑怎么做2. 面向对象Object Oriented Programming 将功能封装进对象,强调的是功能的对象,以类/对象为最小单位,考虑谁来做3. 面向对象的三大特征封装 继承 多态4.类(Class)和对象(Object)类是对一类事物的描述,是抽象的、概念上的定义 对象是实际存在的该类事物的每个个体,因而也称为实例(instance)。5..
2021-12-06 13:14:41
299
原创 SQL适配记录(一)
1. 连接符号在Oracle中是||,在SQL server中是+。2. SQL server中LINENO是关键字,不可作为表字段;嵌套表查询必须设置表的别名。3.
2021-12-01 14:20:38
1429
原创 Vue基础(二)
事件处理内联语句处理器中访问原始的 DOM 事件。可以用特殊变量$event test()相当于test($event) test('abcd', $event)则需要显示传入$event 事件修饰符 .stop:停止事件冒泡(传播) event.stopPropagation() .prevent:阻止事件,比如标签的默认行为 event.preventDefault() .capture:元素自身触发的事件先在此处处理,然后才交由内部元素进行处理 .self:只当在 ..
2021-12-01 08:42:57
419
原创 Vue基础(一)
简单介绍1. 中文官网:https://cn.vuejs.org/2. VUE简单介绍Vue (读音 /vjuː/,类似于view) 是一套用于构建用户界面的渐进式框架。 数据和 DOM 已经被建立了关联,所有东西都是响应式的。 一个 Vue 应用实例会将其挂载到一个 DOM 元素上,然后对其进行完全控制。 在 Vue 里,一个组件本质上是一个拥有预定义选项的一个 Vue 实例。3. MVVM模型model:模型,数据对象,例如app实例中的data view:视图,模板页面,例.
2021-11-30 16:40:44
178
原创 Cordova使用记录(一)
1. Cordova打包后手机安装无法登录或者发送请求可尝试修改platforms\android\app\src\main\AndroidManifest.xml//android升级之后 默认不允许使用明码协议,需要补充android:usesCleartextTraffic="true"<application android:hardwareAccelerated="true" android:icon="@mipmap/ic_launcher" android:label="@st
2021-11-25 16:52:40
1598
原创 MybatisPlus-入门介绍(二)
插件扩展1. Mybatis 通过插件(Interceptor) 可以做到拦截四大对象相关方法的执行,根据需求,完成相关数据的动态改变Executor StatementHandler ParameterHandler ResultSetHandler
2021-11-02 21:00:02
505
原创 MybatisPlus-入门介绍(一)
简单介绍1. MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。2. 官网地址:https://baomidou.com/3. Mybatis 及 Mybatis-Spring 依赖请勿加入项目配置,以免引起版本冲突!! Mybatis-Plus 会自动帮你维护。4. SqlSessionFactoryBean的两点不同:
2021-11-01 20:53:55
394
原创 MongoDB基础
1.MongoDB:一种非关系型数据库,偶数版本为稳定版,奇数版本为开发版。2.MongoDB对于32位系统支持不佳,所以3.2版本以后没有再对32位系统的支持。3. MongoDB中,数据库(database)->集合(collections)->文档(document),单位级别逐级变小。数据库和集合都不需要手动创建,当我们创建文档时,如果文档所在的集合或数据库不存在会自动创建数据库和集合。4. 下载地址:https://www.mongodb.org/dl/win32/..
2021-10-21 20:00:08
98
原创 SpringSecurity-简单实现
1. 配置文件spring.security.user.name=adminspring.security.user.password=admin2. 配置类@Configurationpublic class MySecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(AuthenticationManagerBuilder auth) .
2021-10-14 22:00:36
276
原创 SpringSecurity-入门介绍
F1. Spring Security与Shiro?Spring Security是重量级框架,需要的依赖较多。但是与Spring无缝整合,权限功能更加完善。 Shiro是轻量级框架,配置较为简便。但是在web环境下一些特定的需求需要手动编写代码实现。 推荐搭配: SSM+Shiro Springboot+Spring Security 2. Spring Security默认用户名:user;密码在控制台,每次项目启动都会变化。3. Spring Security本质是一个过滤器
2021-10-13 21:18:50
250
原创 layer弹层组件使用
信息提示://第一种layer.msg(提示信息, {time:1000, icon:5, shift:6}, 回调方法);//第二种layer.alert(提示信息, function(index){ // 回调方法 layer.close(index);});确认弹窗:layer.confirm("询问信息", {icon: 3, title:'提示'}, function(confirmIndex){ //... layer.close(con
2021-10-10 14:30:01
236
原创 RBAC权限介绍
RBAC(Role-Based Access Control,基于角色的访问控制)用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。 在这种模型中,用户与角色之间,角色与权限(功能)之间,一般都是多对多的关系。简单权限关系表:较复杂权限关系表:RBAC级别1. RBAC0:RBAC核心模型,其他的级别都是建立在该级别的基础上。2. RBAC1:基于RBAC1模型,进行了角色的分层,也...
2021-10-09 20:03:40
232
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人