- 博客(42)
- 收藏
- 关注
原创 SpringBoot3——核心原理
抽取聊天机器人场景,它可以打招呼效果:任何项目导入此starter项目,都具有打招呼功能,并且问候语中的人名,可以在配置文件中进行动态修改创建自定义的 starter项目,引入基础依赖编写模块功能,引入模块所有需要的依赖编写自动配置类,帮其他项目导入这个模块需要的所有组件编写配置文件,来指定启动需要加载的自动配置其他项目引入即可使用。
2024-12-27 16:44:48
948
原创 SpringBoot3——基础特性
类路径添加banner.txt或设置spring.banner.location就可以定制bannerSpring Boot banner 在线生成工具,制作下载英文 banner.txt,修改替换 banner.txt 文字实现自定义,个性化启动 banner-bootschool.net@SpringBootApplication // 由这个注解来标注主程序类// SpringApplication —— 整个Boot应用的核心API入口。
2024-12-25 11:13:07
657
原创 SpringBoot3——数据访问
找classpath:/META-INF/spring/org.springframework.boot.autoconfigure.AytoConfiguration.imports这个文件中配置的所有值,每个值就是一个要开启的自动配置类,但是每一个类都可能会有条件注解,基于条件注解判断哪个自动配置类生效了。mybatis-spring-boot-starter导入了mybatis-spring-boot-autoconfigure, 这个包是mybatis官方写的自动配置包。默认加载两个自动配置类。
2024-12-22 16:53:01
1083
原创 SpringBoot3——Web开发
自定义静态资源路径、自定义缓存规则--支持返回yaml格式数据-->把对象写出成YAMLperson.setUserName("张三");使用@ControllerAdvice + @ExceptionHandler 进行统一异常处理根据boot的错误页面规则,自定义页面模板。
2024-12-22 12:51:35
887
原创 SpringBoot3——快速入门
JAVA17+Maven、IDEASpring使用作为内部日志,但底层日志实现是开放的,可以对接其他的日志框架。Spring5及以后commons-logging被Spring直接自己写了支持jullog4j2logback。SpringBoot提供了默认的控制台输出配置,也可以配置输出为文件。logback是默认使用的虽然日志框架很多,但是我们不用担心,使用SpringBoot的默认配置就能工作的很好。日志系统自定义LogbackLog4j2。
2024-12-03 10:59:08
728
原创 SpringMVC——SSM整合
/描述统一格式中的编码,用于区分操作,可以简化配置0或1表示成功失败//描述统一格式中的数据//描述统一格式中的消息,可选属性//同学们自己添加getter、setter、toString()方法Result类中的字段并不是固定的,可以根据需要自行增减程序开发过程中不可避免的会遇到异常现象,我们不能让用户看到这样的页面数据出现异常现象的常见位置与常见诱因如下:框架内部抛出的异常:因使用不合规导致数据层抛出的异常:因外部服务器故障导致(例如:服务器访问超时)
2024-11-28 14:46:26
1156
原创 SpringMVC——REST
REST表现形式状态转换,它是一种软件架构风格传统风格资源描述形式id=1查询id为1的用户信息保存用户信息REST风格描述形式传统方式一般是一个请求url对应一种操作,这样做不仅麻烦,也不安全,因为会程序的人读取了你的请求url地址,就大概知道该url实现的是一个什么样的操作。查看REST风格的描述,你会发现请求地址变得简单了,并且光看请求URL并不是很能猜出来该URL的具体功能所以REST的优点隐藏资源的访问行为,无法通过地址得知对资源是何种操作书写简化。
2024-11-25 22:35:06
1006
原创 SpringMVC——请求和响应
出现乱码的原因相信大家都清楚,Tomcat8.5以后的版本已经处理了中文乱码的问题,但是IDEA中的Tomcat插件目前只到Tomcat7,所以需要修改pom.xml来解决GET请求中文乱码问题。SpringMVC接收到请求和数据后,进行一些了的处理,当然这个处理可以是转发给Service,Service层再调用Dao层完成的,不管怎样,处理完以后,都需要将。简单数据类型一般处理的是参数个数比较少的请求,如果参数比较多,那么后台接收参数的时候就比较复杂,这个时候我们可以考虑使用POJO数据类型。
2024-11-24 23:09:23
1072
原创 SpringMVC——PostMan
代码编写完后,我们要想测试,只需要打开浏览器直接输入地址发送请求即可。但是我们如果我们发送的是GET请求可以直接使用浏览器,但是如果要发送的是POST请求呢?如果要求发送的是post请求,我们就得准备页面在页面上准备form表单,测试起来比较麻烦。所以我们就需要借助一些第三方工具,如PostMan.PostMan是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。作用:常用于进行接口测试特征简单实用美观大方。
2024-11-23 20:34:02
168
原创 SpringMVC——简介及入门
看到SpringMVC这个名字,我们会发现其中包含Spring,那么SpringMVC和Spring之间有怎样的关系呢?SpringMVC隶属于Spring,是Spring技术中的一部分。那么SpringMVC是用来做什么的呢?回想web阶段,我们学习过Servlet,而SpeingMVC与Servlet技术功能相同,均属于web层或者说表现层开发技术。那么既然已经有了Servlet,为什么还需要花时间在学习一个SpringMVC?想要回答这个问题,我们就需要先搞清楚。
2024-11-23 18:58:26
2060
原创 MyBatis
MyBatis是一款优秀的持久层框架,用于简化JDBC开发MyBatis 本是 Apache 的一个开源项目 iBatis,2010年这个项目由 apache software foundation 迁移到了 google code,并且改名为 MyBatis,2013年11月迁移到Github// 3.执行sql这里调用 selectList()方法传递的参数是映射配置文件中的 namespace.id值。这样写也不便于后期的维护。如果使用 Mapper 代理方式(如下图)则不存在硬编码问题。
2024-11-22 18:54:07
899
原创 Spring——提前编译
JIT和AOT 这个名词是指两种不同的编译方式,这两种编译方式的主要区别在于是否在“运行时”进行编译(1)JIT, Just-in-time,动态(即时)编译,边运行边编译;在程序运行时,根据算法计算出热点代码,然后进行 JIT 实时编译,这种方式吞吐量高,有运行时性能加成,可以跑得更快,并可以做到动态生成代码等,但是相对启动速度较慢,并需要一定时间和调用频率才能触发 JIT 的分层机制。JIT 缺点就是编译需要占用运行时资源,会导致进程卡顿。
2024-11-16 21:38:56
2100
原创 Spring——数据校验
第一步 自定义校验注解//默认错误消息String message() default "不能包含空格";//分组Class
2024-11-16 21:23:02
1173
原创 Spring——国际化
国际化也称作i18n,其来源是英文单词 internationalization的首末字符i和n,18为中间的字符数。由于软件发行可能面向多个国家,对于不同国家的用户,软件显示不同语言的过程就是国际化。通常来讲,软件中的国际化是通过配置文件来实现的,假设要支撑两种语言,那么就需要两个版本的配置文件。
2024-11-15 22:43:51
847
原创 Spring——资源操作
该接口实现类的实例可以获得一个Resource实例。该接口实现类的实例将获得一个ResourceLoader的引用。在ResourceLoader接口里有如下方法:(1): 该接口仅有这个方法,用于返回一个Resource实例。ApplicationContext实现类都实现ResourceLoader接口,因此ApplicationContext可直接获取Resource实例。Spring将采用和ApplicationContext相同的策略来访问资源。
2024-11-15 21:52:18
773
原创 Spring——事务
Spring框架对JDBC进行封装,使用JdbcTemplate方便实现对数据库操作数据库事务( transaction)是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。事务由事务开始与事务结束之间执行的全部数据库操作组成。
2024-11-15 14:37:09
727
原创 Spring——单元测试
这两行代码的作用是创建Spring容器,最终获取到对象,但是每次测试都需要重复编写。针对上述问题,我们需要的是程序能自动帮我们创建容器。我们都知道JUnit无法知晓我们是否使用了 Spring 框架,更不用说帮我们创建 Spring 容器了。Spring提供了一个运行器,可以读取配置文件(或注解)来创建容器。我们只需要告诉它配置文件位置就可以了。这样一来,我们通过Spring整合JUnit可以使程序创建spring容器了。JUnit4在公司也会经常用到,在此也学习一下。搭建spring-junit模块。
2024-11-14 13:51:57
1004
原创 Spring——AOP
AOP(Aspect Oriented Programming)是一种设计思想,是软件设计领域中的面向切面编程,它是面向对象编程的一种补充和完善,它以通过预编译方式和运行期动态代理方式实现,在不修改源代码的情况下,给程序动态统一添加额外功能的一种技术。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
2024-11-14 12:42:44
1101
原创 Spring——原理:IoC
/ 属性// 无参数构造// 有参数构造// 普通方法System.out.println("私有方法————汽车在跑");// get和set方法return age;
2024-11-13 10:28:17
515
原创 Java——注解和反射
Annotation 是从JDK5.0开始引入的新技术Annotation的作用:不是程序本身,可以对程序做出解释(这一点和注释(comment)没什么区别)可以被其他程序(比如:编译器等)读取Annotation的格式:注解是以”@注释名“在代码中存在的,还可以添加一些参数值,例如:@SuppressWarnings(value="unchecked")Annotation在那里使用。
2024-11-12 15:39:16
823
原创 Spring——容器:IoC
Spring 提供了以下多个注解,这些注解可以直接标注在 Java 类上,将它们定义成 Spring Bean。注解说明@Component该注解用于描述 Spring 中的 Bean,它是一个泛化的概念,仅仅表示容器中的一个组件(Bean),并且可以作用在应用的任何层次,例如 Service 层、Dao 层等。使用时只需将该注解标注在相应类上即可。该注解用于将数据访问层(Dao 层)的类标识为 Spring 中的 Bean,其功能与 @Component 相同。@Service。
2024-11-11 17:05:26
824
原创 Spring——入门
Spring是一款主流的Java EE轻量级开源框架,其目的适用于简化Java企业级应用开发难度和开发周期。Spring用途不仅限于服务器端的开发,从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring框架除了自己提供功能外,还提供整合其他技术和框架的能力。在项目开发中,日志十分的重要,不管是记录运行情况还是定位线上问题,都离不开对日志的分析。
2024-11-08 11:25:56
810
原创 JavaWeb
Web:网页的意思静态webhtml、css提供给所有人看的数据,始终不会发生变化动态web几乎所有的网站都是动态网站提供给所有人看的数据是会发生变化的,每个人在不同的时间、不同的地点看到的信息各不相同!技术栈:Servlet/JSP、ASP、PHP在Java中,动态Web资源开发的技术统称为JavaWebHTTP(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上文本:html、字符串、……超文本:图片、音乐、视频、定位、地图……端口:80。
2024-11-07 19:20:02
947
原创 JavaScript基本语法
JavaScript是一门世界上最流行的脚本语言绝对值函数if(x>=0) {return x;一旦执行到 return 代表函数结束,返回结果!如果没有执行 return,函数执行完也会返回结果,结果就是 undefinedif(x>=0) {return x;function(x){...}这是一个匿名函数,但是可以把结果赋值给 abs,通过 abs 就可以调用函数!方式一和方式二等价!
2024-10-25 21:02:40
1156
原创 CSS基本语法
Cascading Style Sheet 层叠级联样式表CSS:表现(美化网页)字体、颜色、边距、高度、宽度、背景图片、网页定位、网页浮动margin:外边距border:边框padding:内边距。
2024-10-22 15:28:33
966
原创 MySQL——数据库
MySQL是一个关系型数据库管理系统前世:瑞典MySQL AB公司今生:属于Oracle旗下产品MySQL是最好的RDBMS(关系型数据库管理系统)应用软件之一开源的数据库软件体积小、速度快、总体成本低适用于大中小型网站,MySQL能够实现集群MD5又称信息摘要算法,主要增强算法复杂度和不可逆转具体的值的MD5是一样的要么都成功,要么都失败1、SQL执行 A 给 B 转账 A 1000 -->200 B 200。
2024-10-18 15:14:20
1165
原创 JAVA——集合进阶
/ 如果定义的集合的泛型是自定义的类,如果想使用contains比较其中的值,就得在自定义类中重写equals方法// 否则默认的contains使用的是默认的equals方法,比较的是地址值// 如果没有在Friend类重写equals方法,这里会返回false数据结构是计算机底层存储、组织数据的方式是指数据之间是以什么方式排列在一起的数据结构是为了更加方便地管理和使用数据,需要结合具体的业务场景来进行选择。
2024-10-11 21:39:08
761
原创 JAVA——常用API
是一个帮助我们进行数学计算的工具类私有化构造方法,所有的方法都是静态的Object是Java中的顶级父类。所有的类都直接或简洁的继承于Object类。Object类中的方法可以被所有子类访问,所以我们要学习Object类和其中的方法。Object是Java中的顶级父类所有的类都直接或简洁的继承于Object类toString():一般会重写,打印对象时打印属性equals():比较对象时会重写,比较对象属性值是否相同clone():默认浅克隆。
2024-10-08 17:49:47
763
原创 JAVA——面向对象进阶(多态、包、final、权限修饰符、代码块)
同类型的对象,表现出的不同形态包就是文件夹。用来管理各种不同功能的java类,方便后期代码维护。包名的规则:公司域名反写+包的作业,需要全部英文小写,见名知意。如:com.itheima.domain。
2024-09-25 21:26:53
752
2
原创 JAVA——面向对象进阶(static、继承)
static定义的成员和方法是共用的,调用的时候用类名调用最好static定义的成员是优先于对象(new)存在的,随着类的加载而加载静态方法只能访问静态变量和静态方法非静态方法可以访问全部静态方法没有this关键字但是并不是有相同的属性就一定可以抽取相同的属性制作一个父类,需要考虑到实际的开发情况(子类是父类的一种。this:理解为一个变量,表示当前方法调用者的地址值super:代表父类存储空间i++) {} else {i++) {
2024-09-25 10:31:41
1872
2
原创 学生管理系统
键盘录入要修改的学生id,需要满足以下要求。 采取控制台的方式去书写学生管理系统。 打印所有的学生信息,需要满足以下要求。 属性:id、姓名、年龄、家庭住址。
2024-09-21 19:00:23
283
原创 字符串综合训练
请编写程序,由键盘录入一个字符串,统计字符串中英文字母和数字分别有多少个。比如:Hello12345World中字母:10个,数字:5个。请定义一个方法用于判断一个字符串是否是对称的字符串,并在主方法中测试方法。例如:“abcba”、"上海自来水来自海上"均为对称字符串。内容:可以是小写字母,也可以是大写字母,还可以是数字。键盘输入任意字符串,打乱里面的内容。
2024-09-21 11:32:17
209
2
原创 JAVA——字符串
String是Java定义好的一个类,使用的时候也不需要导包java.lang.String类代表字符串,java程序中所有字符串文字都为此类的对象字符串的内容是不会改变的,它的对象在创建后不能被改变// 直接赋值// 空参构造// 传递一个字符串,根据传递的字符串内容再创建一个新的字符串对象// 传递字符数组,根据字符数组的内容创建一个新的字符串对象// 传递一个字节数组,根据字符数组的内容创建一个新的字符串对象// 在网络中传输的数据都是字节形式。
2024-09-19 21:55:52
779
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人