![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 57
张德帅-001
这个作者很懒,什么都没留下…
展开
-
Java笔记--SpringBoot了解自动配置原理(五)--2021-09-04
SpringBoot了解自动配置原理(五)三、自动配置原理入门3.1、引导加载自动配置类1、 @SpringBootConfiguration2、@ComponentScan3、@EnableAutoConfiguration3.1 @AutoConfigurationPackage3.2 @Import(AutoConfigurationImportSelector.class)三、自动配置原理入门创建springBoot时都会有一个类被 @SpringBootApplication 修饰, 被它修饰原创 2021-09-06 15:20:15 · 222 阅读 · 0 评论 -
Java笔记--SpringBoot了解自动配置原理(四)--2021-09-03
SpringBoot容器功能(二)二、容器功能2.2、原生配置文件引入@ImportResource2.3、配置绑定2.3.1 @ConfigurationProperties2.3.2 @EnableConfigurationProperties + @ConfigurationProperties二、容器功能2.2、原生配置文件引入@ImportResource在springBoot使用它,可以把原来没有使用springBoot时,只使用了在xml文件中bnea标签声明的组件对象,全部引入过来,原创 2021-09-06 11:49:31 · 187 阅读 · 0 评论 -
Java笔记--SpringBoot了解自动配置原理(三)--2021-09-02
SpringBoot容器功能一、容器功能1.1、组件添加1、@Configuration2、@Bean、@Component、@Controller、@Service、@Repository3、@ComponentScan、@Import4、@Conditional一、容器功能1.1、组件添加1、@Configuration基本使用告诉springBoot这是一个配置类配置类 == xml配置文件在spring中使用xml中的bean标签给容器中添加组件,或者在xml中配置组件扫描器然原创 2021-09-06 10:51:15 · 192 阅读 · 0 评论 -
Java笔记--图片上传和解决图片显示问题--2021-09-01
图片上传和解决图片显示问题一、问题的原由二、解决方法2.1 判断请求路径2.2 对图片进行编码一、问题的原由以往的项目中要访问图片直接写个url去指向项目中的存储图片的文件夹,然后写访问哪个图片。比如:http://localhost:8080/ProductSys/img/1.png但是,在我们的ssm项目中,一般都会使用拦截器(HandlerInterceptor接口的实现类),在用户做任何操作时先拦截看看用户是否登录,用户的权限是否合格等等。我们会设置所有请求的请求头内容为一个token原创 2021-09-05 22:03:15 · 1262 阅读 · 1 评论 -
Java笔记--SpringBoot了解自动配置原理(二)--2021-08-28
SpringBoot了解自动配置原理(二)一、SpringBoot特点1.2、自动配置一、SpringBoot特点1.2、自动配置自动配好Tomcat引入Tomcat依赖。配置Tomcat<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <versi原创 2021-08-29 16:59:37 · 143 阅读 · 0 评论 -
Java笔记--SpringBoot了解自动配置原理(一)--2021-08-27
SpringBoot了解自动配置原理(一)一、SpringBoot特点1.1、依赖管理1.1.1 自动版本仲裁1.1.2 场景启动器一、SpringBoot特点1.1、依赖管理父项目做依赖管1.1.1 自动版本仲裁依赖管理 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId&原创 2021-08-28 22:59:45 · 181 阅读 · 1 评论 -
Java笔记--SpringBoot入门--2021-08-26
SpringBoot入门1、系统2、HelloWorld2.1、创建maven工程2.2、引入依赖2.3、创建主程序2.4、编写业务2.5、运行直接写个入门案例:1、系统java 8Maven 3.3+idea 20192、HelloWorld需求:浏览发送/hello请求,响应 Hello,Spring Boot2.1、创建maven工程创建一个最普通的maven项目2.2、引入依赖在pom.xml文件中:<!-- 在project标签下,引入父项目 --><原创 2021-08-28 22:10:58 · 146 阅读 · 0 评论 -
Java笔记--了解 SpringBoot 一些简单知识--2021-08-25
了解 SpringBoot 一些简单知识一、错误的认知spring的生态二、为什么用SpringBoot2.1 SpringBoot优点2.2 SpringBoot缺点正是因为学习了SpringBoot才让我真正意义上认识了什么叫Spring和Spring的生态圈。所以记录下:一、错误的认知在学习ssm构架时,因为是自学,一直认为当时学习的“Spring”就是“Spring”,其实并不是,在ssm构架中的spring称为Spring Framework。在Spring Framework中我们会学习原创 2021-08-28 21:46:26 · 152 阅读 · 0 评论 -
Java笔记--aop的技术实现之aspectJ框架--2021-08-19
aop的技术实现之aspectJ框架一、AspectJ 的通知类型(理解)二、AspectJ 的切入点表达式(掌握)三、举例对于 AOP 这种编程思想,很多框架都进行了实现。Spring 就是其中之一,可以完成面向切面编程。然而,AspectJ 也实现了 AOP 的功能,且其实现方式更为简捷,使用更为方便,而且还支持注解式开发。所以,Spring 又将 AspectJ 的对于 AOP 的实现也引入到了自己的框架中。在 Spring 中使用 AOP 开发时,一般使用 AspectJ 的实现方式。一、As原创 2021-08-22 23:22:32 · 199 阅读 · 0 评论 -
Java笔记-- AOP 概述--2021-08-18
AOP 概述一、AOP字面解释二、AOP的底层三、怎么理解面向切面编程3.1 术语3.2 要素四、AOP的实现一、AOP字面解释AOP(Aspect Orient Programming)面向切面编程,是一个规范,是动态代理的一个规范化和标准,面向切面编程是从动态角度考虑程序运行过程。上面最后一句解释很抽象,现在 拆分 解释:Aspect: 切面:给你的目标类增加的功能,就是切面。 像上面用的日志,事务都是切面。Orient:面向, 对着。Programming:编程所以可以解释为:比如我原创 2021-08-22 23:00:06 · 150 阅读 · 0 评论 -
Java笔记--spring之加载属性配置文件--2021-08-17
spring之加载属性配置文件先定义属性配置文件,在resources文件夹下创建test.properties:myname=hkmyage=18然后在applicationContext.xml核心文件中定义标签去加载这个配置文件<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://w原创 2021-08-22 12:41:20 · 209 阅读 · 0 评论 -
Java笔记--基于注解的DI 之 @Resource--2021-08-16
基于注解的DI 之 @ResourceJDK 注解@Resource 自动注入(1)byType 注入引用类型属性(2)byName 注入引用类型属性JDK 注解@Resource 自动注入Spring 提供了对 jdk 中@Resource 注解的支持。@Resource 注解可以按名称匹配 Bean,也可以按类型匹配 Bean。默认是按名称注入(默认byName)。使用该注解,要求 JDK 必须是 6 及以上版本。@Resource 可在属性上,也可在 set 方法上。(1)byType 注入引用原创 2021-08-22 12:20:48 · 306 阅读 · 0 评论 -
Java笔记--基于注解的DI 之 @Autowired和@Qualifier--2021-08-15
基于注解的DI 之 @Autowired和@Qualifier一、byType(默认使用按类型自动装配 )二、byName在引用属性上使用注解@Autowired,该注解默认使用按类型自动装配 Bean 的方式。使用该注解完成属性注入时,类中无需 setter。当然,若属性有 setter,则也可将其加到 setter 上。一、byType(默认使用按类型自动装配 )定义一个School类,用于在Student的引用属性package com.apps.pojo03;import org.spr原创 2021-08-22 11:55:11 · 207 阅读 · 0 评论 -
Java笔记--基于注解的DI 之 @Component和@Value--2021-08-14
基于注解的DI 之 @Component和@Value一、@Component二、@Value一、@Component@Component 创建对象的,等同于<bean>的功能属性:value 就是对象的名称,也就是bean的id值 value的值是唯一的,创建的对象在整个spring容器中的就一个位置:在类的上面 @Component(value = "myStudent")等同于 \<bean id = "myStudent" class="com.apps.pojo原创 2021-08-21 02:38:19 · 4027 阅读 · 0 评论 -
Java笔记--基于注解的 DI--2021-08-13
基于注解的 DI一、7个注解二、通过注解完成java对象创建,属性赋值2.1 使用注解的步骤:2.2 组件扫描器一、7个注解 1. @Component 2. @Respotory 3. @Service 4. @Controller 5. @Value 6. @Autowired 7. @Resource 后面的文章会讲用法和解释二、通过注解完成java对象创建,属性赋值对于 DI 使用注解,将不再需要在 Spring 配置文件中声明 bean 实例。Spring 中使用注解,需要原创 2021-08-21 02:13:26 · 112 阅读 · 0 评论 -
Java笔记--基于 XML 的 DI--2021-08-12
基于 XML 的 DI一、注入分类1.1 set 注入(掌握)1.2 构造注入(理解)二、引用类型属性自动注入2.1 byName 方式自动注入2.2 byType 方式自动注入三、为应用指定多个 Spring 配置文件注:以下文章为本人自己的理解并加以网上的资料写出,学浅,如有错误请指出,谢谢一、注入分类bean 实例在调用无参构造器创建对象后,就要对 bean 对象的属性进行初始化。初始化是由容器自动完成的,称为注入。根据注入方式的不同,常用的有两类:set 注入、构造注入。1.1 set 注原创 2021-08-21 01:42:05 · 137 阅读 · 0 评论 -
Java笔记--IoC控制反转--2021-08-11
IoC控制反转一、spring的第一个核心功能 ioc二、ioC 的体现三、IoC的技术实现:依赖注入 DI刚开始学习时,对何为 Ioc 是有点不理解的。在spring学习完后,理解更加深入了,现在总结。注:以下文章全为本人自己的理解,学浅,如有错误请指出,谢谢一、spring的第一个核心功能 ioc控制反转(IoC,Inversion of Control)是一个概念,是一种思想。指将传统上由程序代码直接操控的对象调用权交给容器,通过容器来实现对象的装配和管理。控制反转就是对对象控制权的转移,从程序原创 2021-08-20 20:24:04 · 739 阅读 · 0 评论 -
Java笔记--Spring优点--2021-08-10
Spring 是一个框架,是一个半成品的软件。有 20 个模块组成。它是一个容器管理对象,容器是装东西的,Spring 容器不装文本,数字。装的是对象。Spring 是存储对象的容器。上网查询一些资料,总结了大概四个优点一、轻量Spring 框架使用的 jar 都比较小,一般在 1M 以下或者几百 kb。Spring 核心功能的所需的 jar 总共在 3M 左右。Spring 框架运行占用的资源少,运行效率高。不依赖其他 jar二、针对接口编程,解耦合Spring 提供了 Ioc 控制反转,由容器原创 2021-08-20 19:18:42 · 117 阅读 · 0 评论 -
Java笔记--Redis的三种特殊数据类型--2021-06-18
Redis的三种特殊数据类型一、Geospatial 地理位置1.1、getadd1.2、getpos1.3、GEODIST1.4、georadius1.5、GEORADIUSBYMEMBER1.6、GEOHASH二、Hyperloglog2.1、什么是基数?2.2、简介2.3、测试使用三、Bitmap3.1、位存储3.2、测试一、Geospatial 地理位置朋友的定位,附近的人,打车距离计算?Redis 的 Geo 在Redis3.2 版本就推出了! 这个功能可以推算地理位置的信息,两地之间的距离转载 2021-06-21 10:53:45 · 136 阅读 · 0 评论 -
Java笔记--Redis的五大数据类型--2021-06-16
Redis的五大数据类型一、官网文档介绍Redis-Key二、String(字符串)三、List(列表)四、Set(集合)五、Hash(哈希)六、Zset(有序集合)一、官网文档介绍Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件MQ。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglog转载 2021-06-21 10:19:58 · 200 阅读 · 0 评论 -
Java笔记--Redis测试性能和基础的知识--2021-06-14
Redis测试性能和基础的知识一、测试性能二、基础的知识三、了解一、测试性能redis-benchmark 是一个压力测试工具!官方自带的性能测试工具!redis-benchmark 命令参数!图片来自菜鸟教程和狂神说:我们来简单测试下# 测试:100个并发连接 100000请求redis-benchmark -h localhost -p 6379 -c 100 -n 100000如何查看这些分析呢?二、基础的知识redis默认有16个数据库默认使用的是第0个可以使用原创 2021-06-21 09:53:35 · 196 阅读 · 0 评论 -
Java笔记--Hibernate概述--2021-06-02
Hibernate概述一、javaEE三层结构1.1、MVC思想二、Hibernate的概述:2.1 什么是hibernate框架2.2 什么是orm思想(重点)2.3 Hibernate的入门:2.3.1 使用Maven管理Hibernate的jar2.3.2 自己管理和下载Hibernate的jar备注:crud操作一、javaEE三层结构web层:SpringMVC框架service层:spring框架dao层:hibernate框架、mybatis框架1.1、MVC思想m:模型原创 2021-06-03 22:24:33 · 113 阅读 · 0 评论 -
Java笔记--Mybatis的其他注意事项(完结)--2021-06-01
Mybatis的其他注意事项(完结)一、数据库的属性配置文件(1) 在 classpath 路径下,创建 properties 文件(2) 使用 properties 标签(3) 使用 key 指定值二、mappers(映射器)(1) <\mapper resource=" " />(2) <\package name="" />一、数据库的属性配置文件把数据库连接信息放到一个单独的文件中。 和mybatis主配置文件分开。目的是便于修改,保存,处理多个数据库的信息。MyBati原创 2021-06-03 16:11:01 · 129 阅读 · 0 评论 -
Java笔记--Mybatis的动态sql(二)--2021-05-31
Mybatis的动态sql(二)一、foreach1.1 例子1.2 例子动态sql: sql的内容是变化的,可以根据条件获取到不同的sql语句。主要是where部分发生变化。一、foreach <foreach> 循环java中的数组, list集合的。主要用在sql的in语句中。 collection="集合类型(list、array)" item="集合中的成员" open="开始字符" close="结束字符" separator="集原创 2021-06-03 15:50:06 · 84 阅读 · 0 评论 -
Java笔记--Mybatis的动态sql(一)--2021-05-30
Mybatis的动态sql(一)一、动态sql的实现二、定义sql的代码片段三、if3.1 例子四、where4.1 例子动态sql: sql的内容是变化的,可以根据条件获取到不同的sql语句。主要是where部分发生变化。一、动态sql的实现使用的是mybatis提供的标签, <if> ,<where>,<foreach>二、定义sql的代码片段就是复用一些语法,步骤:1.先定义 :<sql id="自定义名称唯一"> sql语句, 表名原创 2021-06-03 14:04:01 · 114 阅读 · 0 评论 -
Java笔记--Mybatis的resultType属性的值--2021-05-15
Mybatis的resultType属性的值resultType: 执行 sql 得到 ResultSet结果集 ,把结果集转换为想要设置的指定类型时使用。使用类型的完全限定名或别名,注意如果返回的是集合,那应该设置为集合包含的类型,而不是集合本身。它的值可以是:类的全限定名称如:<!-- 系统类 -->resultType="java.lang.Integer"<!-- 自定义类 -->resultType="com.apps.bean.Student"也可以是原创 2021-05-24 20:10:48 · 737 阅读 · 0 评论 -
Java笔记--Mybatis中的模糊like--2021-05-14
Mybatis中的模糊like例1:java代码中提供要查询的 “%帅%”例2:mapper文件中使用 like name "%" #{xxx} "%"模糊查询的实现有两种方式, 一是 java 代码中给查询数据加上“%” ; 二是在 mapper 文件 sql 语句的条件位置加上“%”需求:查询姓名有“帅”的例1:java代码中提供要查询的 “%帅%” //接口方法: List<Student> selectLikeFirst(String name); //mapper 文件原创 2021-05-24 11:41:32 · 184 阅读 · 0 评论 -
Java笔记--Mybatis中的#和$--2021-05-13
Mybatis中的#和$#:占位符$: 字符串替换例子例1:分别使用id,email列查询Student例2:通用方法,使用不同列作为查询条件在mapper文件中,我们传参时可以看到一直在使用 #{ } ,它是什么?跟 ${ } 有什么区别?现在讲解记录。#:占位符告诉 mybatis 使用实际的参数值代替。并使用 PrepareStatement 对象执行 sql 语句, #{…}代替sql 语句的“?”。这样做更安全,更迅速,通常也是首选做法,转为 MyBatis 的执行是: String s原创 2021-05-24 11:30:36 · 341 阅读 · 0 评论 -
Java笔记--Mybatis解决java类属性名和数据库列名不一样的问题--2021-05-12
Mybatis 解决java类属性名和数据库列名不一样的问题一、第二种设置返回的结果类型二、解决方式1.1 第一种:定义resultMap1.2 第二种:列别名一、第二种设置返回的结果类型除了resultType通过填写全限定名称来指定返回类型,我们也可以使用resultMap它来指定返回类型,它可以指定列名的值设值给指定的java属性 <!-- 在xml的mapper文件中 --> <!-- 使用resultMap 1. 定义resultMap原创 2021-05-23 17:45:32 · 523 阅读 · 3 评论 -
Java笔记--Mybatis传入参数(二)--2021-05-11
Mybatis传入参数(二)一、传入参数1.3 使用java对象作为方法参数1.4 多个参数使用位置1.5 多个参数使用Map集合一、传入参数1.3 使用java对象作为方法参数语法 #{属性名},使用java对象的属性值,作为参数实际值 //使用java对象作为接口方法的参数 List<Student> selectMultiObject(OueryParam param); //中间的步骤和第一个案例一样,获取SqlSession对象调用访求方法,获取接口实现类,调用指定方法原创 2021-05-23 17:12:46 · 126 阅读 · 0 评论 -
Java笔记--Mybatis传入参数(一)--2021-05-10
Mybatis传入参数(一)一、传入参数1.1 一个简单类型的参数1.2 多个简单类型的参数一、传入参数从java代码中把数据传入到mapper文件的sql语句中,上个文章我们讲过,mybatis可以动态生成dao接口的实现类。那么我们在调用这个实现类的方法时,一定会有方法要传参使用,mybatis对于传参也有操作,下面将举例:1.1 一个简单类型的参数简单类型: mybatis把java的基本数据类型和String都叫简单类型。在mapper文件获取简单类型的一个参数的值,使用 #{任意字符}如原创 2021-05-23 16:55:36 · 191 阅读 · 0 评论 -
Java笔记--Mybatis动态代理--2021-05-06
Mybatis动态代理和传入参数一、动态代理一、动态代理使用SqlSession.getMapper(dao接口.class) 获取这个dao接口的对象,不要自己写实现了回顾没有动态代理的代码:StudentDao–Dao层的接口public interface StudentDao { //查询student表的所有的教据 List<Student> selectStudent(); //插入方法 int insertStudent(Student原创 2021-05-07 09:54:18 · 121 阅读 · 0 评论 -
Java笔记--Mybatis框架有什么用--2021-04-12
Mybatis框架有什么用一、mybatis框架二、 mybatis提供了哪些功能三、总结一、mybatis框架一个框架,早期叫做ibatis, 代码在github。mybatis是 MyBatis SQL Mapper Framework for Java (sql映射框架)mybatis有两个功能作用: 1)sql mapper :sql映射可以把数据库表中的一行数据 映射为 一个java对象。 一行数据可以看做是一个java对象。操作这个对象,就相当于操作表中的数据原创 2021-04-12 09:57:20 · 334 阅读 · 0 评论 -
Java笔记-- mybatis学习前的一些了解 --2021-04-12
mybatis学习前的一些了解一、三层架构二、框架在学习mybatis前,先了解三层架构一、三层架构① 界面层: 和用户打交道的, 接收用户的请求参数, 显示处理结果的;(jsp ,html ,servlet)② 业务逻辑层: 接收了界面层传递的数据,计算逻辑,调用数据库,获取数据;③ 数据访问层: 就是访问数据库, 执行对数据的查询,修改,删除等等的。三层对应的包界面层: controller包 (servlet)业务逻辑层: service 包(XXXService类)数据访问层:原创 2021-04-12 09:50:36 · 196 阅读 · 0 评论 -
Java笔记-- Maven 依赖范围--2021-04-12
Maven 依赖范围一、依赖范围二、maven常用操作一、依赖范围使用scope表示的,scope的值有 compile, test, provided ,默认是compile,scope:表示依赖使用的范围,也就是在maven构建项目的那些阶段中起作用。maven构建项目 编译, 测试 ,打包, 安装 ,部署 过程(阶段) junit的依赖范围是 test <dependency> <groupId>junit</groupId> &l原创 2021-04-12 09:20:12 · 112 阅读 · 0 评论 -
Java笔记--IDEA 创建 Maven 工程--2021-04-11
Java笔记--IDEA 创建 Maven 工程一、创建 maven 版 java 工程二、创建 maven 版 web 工程一、创建 maven 版 java 工程文件----新建----模块----Maven----打钩Create from archetype----双击org.apache.maven.archetypes:maven-archetype-quickstart下一步下一步生成的目录结构可以看到没有main和test都没有resources目录,要我们自己创建分别原创 2021-04-11 23:06:28 · 154 阅读 · 0 评论 -
Java笔记--Maven概述和工程约定目录结构--2021-04-05
Java笔记--Maven概述和工程约定目录结构一、maven概述二、Maven工程约定目录结构最近学了Maven,在写笔记前讲点话外事。软件是一个工程,常能听到工程这个词,像桥梁工程、道路工程、南水北调工程等等,工程说简单点就是各个行业的从业人员通过总结规律或者方法,以最短的时间和人力、物力来做出高效可靠的东西。我们也就能理解桥梁工程,其实就是人们通过经验的总结和各种研究得出来的、用来修建桥梁时所采用的高效的方法,当然这种方法是可复用的。我们将这种作工程的思想应用到软件上,于是就产生了—软件工程。软件原创 2021-04-05 19:15:20 · 138 阅读 · 0 评论 -
Java笔录--深拷贝与浅拷贝--2021-03-30
Java深拷贝与浅拷贝1.1 浅拷贝1.2 深拷贝1.3 代码实现拷贝,字面理解就是为了获得一份相同的数据。顾名思义就是为了获得一个相同的对象,而不需要我们再人为的创建和赋值。在Java中如何理解深拷贝和浅拷贝呢?它们的区别又是什么?1.1 浅拷贝对基本数据类型进行值传递,对引用数据类型是引用地址值拷贝,此为浅拷贝。1.2 深拷贝** 对基本数据类型进行值传递,对引用数据类型,创建一个新的对象,并复制其内容,此为深拷贝。**1.3 代码实现...原创 2021-03-30 12:12:59 · 103 阅读 · 0 评论