自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 收藏
  • 关注

原创 SpringBoot2快速入门上手

背景介绍刚学完SSM,它的配置实在是太折磨人代理,Spring、SpringMVC、Mabatis都需要单独配置,而且每个配置文件中东西都很杂,上手SpringMVC给我的感觉,就只有一个字:爽!!!没有那么多复杂的配置了,运行起来也极其简单,不需要手动去配置Tomcat服务器了,就像普通的Java程序一样,直接通过main方法就可以执行,自动配置和启动服务器。本文打算带领大家实现SpringBoot2的Hello world,项目的目标是搭建一个web项目,然后在浏览器访问localhost:80

2022-01-12 09:46:19 489

原创 MyBatis学习之多表操作

1.一对一的查询虽然用户跟订单整体来看是一对多的关系,但是我们从订单来看,每个订单都只对应一个用户,在Order实体中,包含了一个private User user;属性,当我们查询每个订单极该订单对应的用户信息时,我们把它当作一对一查询来看:其实要想实现我们的需求,一条select语句就可以需要的信息都查出来:<select id="findAll" resultType="Order"> SELECT *, o.id oid FROM orders o, `us

2022-01-11 14:09:20 340

原创 MyBatis学习之分页助手PageHelper

1.导入PageHelper需要的坐标使用PageHelper需要导入两个坐标:pagehelper和jsqlparser2.在MyBatis核心配置文件中配置PageHelper插件我导入的pagehelper是5.3.0版本,所以在MyBatis的配置文件中进行如下配置:<!--配置分页助手插件--> <plugins> <plugin interceptor="com.github.pagehelper.PageInterceptor"&g

2022-01-11 10:06:45 495

原创 MyBatis之动态SQL的使用

1.为什么要使用动态SQL?动态SQL最经典的使用场景就是条件查询假设我们有个实体类User,他有三个属性:int id, String username, String password数据库中也有一个对应的user表,它的三个字段也分别是id, username和password如果用户通过三个分别代表id, username, password的下拉列表,要进行条件查询那SQL应该怎么写?select * from user where id=#{id} and username=#{use

2022-01-11 09:50:50 540

原创 MyBatis代理方式实现dao层

1.传统的dao层实现方式过去我们的做法:先创建UserDao接口,然后编写UserDaoImpl类实现这个接口,再在这个实现类中注入jdbcTemplate,或者使用MyBatis那几个语句获得sqlSession然后去调用方法然而现在我们可以省略实现类的编写,只需要MyBatis提供的代理方式2.MyBatis提供的代理方式只需要编写UserMapper接口,不需要再去写实现类,如下:public interface UserMapper { List<User> fin

2022-01-10 13:38:57 205

原创 MySQL设置自增的主键

1.如何设置自增的主键很简单,只需要在主键后面添加AUTO_INCREMENT关键字就行了CREATE TABLE `user`( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(10), `password` VARCHAR(20));2.插入数据时指定主键了怎么办刚才,我们在user表中已经把主键id设置为自增的了,但是又在表中插入了一条设置了id值的数据insert into `user` values(1, "龙哥", "6

2022-01-10 08:25:10 23629

原创 MyBatis快速入门开发步骤

1.添加MyBatis的坐标需要导入的坐标有两个:mysql-connector-java和mybatis2.创建数据表User(别的表也可以,但是要和实体类对应)CREATE TABLE `user`( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(10), `password` VARCHAR(20));3.创建实体类Userpublic class User { private int id; privat

2022-01-09 23:07:51 314

原创 Spring学习之事务控制

一、Spring提供的两种事务控制编程式事务控制:需要自己使用Java的API去写代码声明式事务控制:只需要配置就可以了先学编程式事务控制了解原理,之后在使用声明式事务控制时就知道那些参数到底应该如何配置了编程式事务控制三大对象:PlatformTransactionManagerTransactionDefinitionTrasactionStatusSpring的声明式事务控制,就是在配置文件中采用声明的方式来进行事务控制,它的底层其实就是AOP二、基于xml的事务控制配置事

2022-01-09 19:20:48 104

原创 Spring学习之AOP(面向切面编程)

一、AOP简介1.什么是AOPAOP是Aspect Oriented Programming的缩写,是面向切面编程的意思,是通过预编译方式和运行期动态代理实现程序功能统一维护的一种方式。动态代理:在不修改目标方法代码的基础上对目标方法的功能进行增强,可以实现程序功能的松耦合。2.AOP的作用和动态代理一样,在程序运行期间,可以在不修改源码的情况下对方法的功能进行增强只是使用AOP就不用自己去手写动态代理,Spring已经帮我们封装好了,我们只需要去配置就可以使用,实现功能和增强和松耦合。使

2022-01-09 12:56:57 337

原创 Spring学习之AOP的切点表达式详解

1.背景知识在Sping中使用AOP的主要工作是配置织入关系,使用<aop:config>标签代表这一段是织入关系的配置首先,用<aop:aspect>标签声明一个切面,这里要引用我们之前编写好的切面类极其在配置文件中注册的id(myAspect)然后,通过<aop:[aopMethod]>标签对各种类型的增强进行配置,前置增强用before,后置增强用after切面=增强+切点,所以在对应的增强类型中我们还要指定具体的增强方法和切点,配置切点就需要切点表达式&

2022-01-09 10:13:12 2889 1

原创 SpringMVC的异常处理

一、SpringMVC异常处理的思路系统的Dao、Service、Controller层的异常都通过throws Exception向上抛出,最后由SpringMVC前端控制器交给异常处理器进行处理。SpringMVC的异常处理主要有两种方式:使用SpringMVC提供的简单异常处理器SimpleMappingExceptionResolver实现SpringMVC的异常处理结构HandlerExceptionResolver自定义一个异常处理器二、简单异常处理器SimpleMappingE

2022-01-08 18:53:50 146

原创 SpringMVC学习之拦截器(interceptor)

1.SpringMVC拦截器的作用SpringMVC的拦截器类似于Servlet的Filter,用于对处理器进行预处理和后处理。将多个拦截器结成的一条链叫拦截器链(Interceptor Chain),当访问被拦截的方法或字段时,拦截器链上的拦截器就会被顺序调用,拦截器也是AOP思想的具体实现对所有资源进行拦截:xml <mvc:mapping path="/**"/>排除不需要拦截的资源:xml <mvc:exclude-mapping path=""/>拦截器的开

2022-01-08 13:53:33 135

原创 SpringMVC项目通用配置教程

背景:众所周知,SpringMVC项目的配置过程十分的繁琐,所以我把常见的、通用的配置步骤记录在这里:一、在pom.xml中导入SpringMVC项目的相关坐标必须导入的坐标有,spring-context, spring-web, spring-webmvc,且版本号需要保持一致二、在resources中添加spring-mvc.xml配置文件并进行通用配置需要注意以下配置有些可能要引入命名空间,这个在文件头部复制粘贴那些链接并修改就可以了1.配置mvc的注解驱动:<mvc:annota

2022-01-08 11:10:51 801

原创 Spring学习之JdbcTemplate的基本使用

1.JdbcTemplate概述JdbcTemplate是Spring提供的一个对象,是对原始繁琐的JDBC API对象的简单封装。Spring框架为我们提供了很多的操作类,常用的就是操作关系型数据的JdbcTemplate2.JdcbTemplate开发步骤(一)导入spring-jdbc和spring-tx的坐标spring-tx的tx其实是transactions,为了支持事务操作而导入的(二)创建数据库表和实体1.需要在数据库中建立数据库、数据表CREATE DATABASE Jd

2022-01-07 14:28:50 443

原创 SpringMVC学习之文件上传

1.文件上传客户端的三要素1.表单项type=“file”2.表单的提交方式是post3.表单的enctype属性是multipart/form-data <form action="${pageContext.request.contextPath}/user/get10" method="post" enctype="multipart/form-data"> 名称:<input type="text" name="username"> <br/

2022-01-07 09:27:45 74

原创 SpringMVC学习之获得请求头信息

1.@ResquestHeader注解@RequestHeader注解用在方法参数前面,可以获得值为value的请求头内的信息:@RequestMapping("/get8")@ResponseBody // 表示不进行页面跳转public void getParams8(@RequestHeader(value = "User-Agent", required = false) String userAgent){ System.out.println(userAgent);}2.@

2022-01-07 08:09:24 164

原创 SpringMVC学习之自定义类型转换器

1.问什么需要自定义类型转换器通过JavaWeb的学习,我们知道从客户端发送的请求中参数都是以字符串的形式提交的但有时我们需要的参数类型不是字符串,而是整数之类字符串转整数的转换器不用我们自己来实现,SpringMVC已经帮我们继承好了例如需要一个int类型的age参数,即使我们传入了18这个字符串,他会自动转换成int但是还有一些类型,比如日期,SpringMVC是没有为我们提供类型转化器的,所以需要自定义类型转换器:2.自定义类型转换器的开发流程(一)定义转换类实现Converter接口

2022-01-07 00:44:24 398

原创 SpringMVC学习之获取Restful风格的参数

1.Restful风格简介Restful风格的请求是使用"url+请求方式"表示一次请求方式的,有四个表示操作方式的动词:GET: 用于获取资源POST: 用于新建资源PUT: 用于更新资源DELETE: 用于删除资源例如:/user/1 GET 获得 id=1 的user/user/1 DELETE 删除 id=1 的user/user/1 PUT 更新 id=1 的user/user POST 新增user2.Restful风格请求和

2022-01-07 00:13:00 1194

原创 SpringMVC学习之参数绑定的注解@requestParam

1.@RequestParam()注解的作用和使用方法前面在获取请求参数的时候说过,Controller方法中的参数名必须跟提交的参数name是一致的,如果name不一致,那么就会获取失败,这时就需要使用@RequestParam()进行参数绑定2.@RequestParam()注解的第一个参数valuevalue指定客户端提交的请求的参数的名称: @RequestMapping("/get6") @ResponseBody // 表示不进行页面跳转 public void get

2022-01-06 23:21:51 501

原创 SpringMVC学习之配置全局乱码过滤器

在我们项目的form.jsp页面中,表单是通过post方式提交的,这导致服务器接收后显示了中文乱码要解决post提交得到的数据中文乱码的问题,只需要把以下代码粘贴到web.xml中即可:<!--配置解决全局乱码的过滤器--> <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.fil

2022-01-06 22:11:48 163

原创 SpringMVC学习之静态资源访问的开启

1.问题的引入为什么上节课在我们代码中,访问Ajax.jsp之后去找js文件夹下的jquery-3.3.1.js会报404呢?因为我们在配置SpringMVC的DispatcherServlet的时候,url设置的是缺省的:/也就是说,每个请求都会被DispatcherServlet当作我们写好的Controller方法的请求还有它绑定的@RequestMapping()然后它发现没有任何一个@RequestMapping里面写的请求能和这个匹配起来,所以它就什么都不做了。2.第一种解决方法在s

2022-01-06 21:42:56 726

原创 SpringMVC学习之获得请求参数

1.获得基本类型参数Controller中的业务方法的参数名要与请求参数的name一致,参数值会自动映射匹配 @RequestMapping("/get") @ResponseBody // 表示不进行页面跳转 public void getParams(String username, int age){ System.out.println(username); System.out.println(age); }2.获得POJO类型参数

2022-01-06 21:19:00 506

原创 SpringMVC学习之数据响应:页面跳转和数据回写

SpringMVC主要有两种数据响应方式:页面跳转和数据回写页面跳转:故名思意就是使请求方的页面进行跳转,有请求转发和重定向的方式数据回写:类似JavaWeb学的resp.getWriter().print(),往页面中写入一些数据一、页面跳转页面跳转又分为两种方式:返回字符串的形式和返回ModelAndView的形式1. 返回字符串的形式: @RequestMapping(value = "/success") public String success(){ retur

2022-01-06 17:39:40 1075

原创 SpringMVC学习之SpringMVC开发步骤

1.导入spring-webmvc坐标在项目的pom.xml文件中添加spring-webmvc坐标就可以了2.配置SpringMVC的前端控制器:DispatcherServlet和普通的servlet一样,需要在web.xml中注册servlet并添加请求映射:<servlet> <servlet-name>DispatcherServlet</servlet-name> <servlet-class>org.springframe

2022-01-06 12:00:37 250

原创 Spring集成web环境

一、ContextLoaderListener的工作原理在Spring项目中,用频繁用到Spring容器,也就是ApplicationContext对象,代码如下:ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");所以我们干脆把Spring容器放到全局唯一的servletContext对象中去,写一个ContextLoaderListener实现ServletContextLi

2022-01-06 08:31:46 78

原创 Spring集成Junit的方法

0.为什么要在Spring中进行单元测试?如果没有单元测试,我们测试代码时不仅必须要写在main方法而且每次都要去写代码获取ApplicationContext对象并用getBean()方法拿到其他对象而使用单元测试就可以随时随地测代码,只需要加上相应的注解并直接在那注入对象即可1. 导入spring-test坐标除了创建Spring项目必须导入的spring-context坐标外还要导入spring-test坐标极其依赖的junit坐标注意spring-context坐标和spring-te

2022-01-05 19:47:19 452

原创 Spring学习笔记之注解开发(二):Spring的注解开发流程

1.编写核心配置类:SpringConfiguration建立config包并写一个SpringConfiguration类,然后用@Configuration注解标注其为Spring的核心配置类需要把之前加载xml配置的代码换成加载这个核心配置类的代码:// 通过xml文件加载配置的代码:ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");// 通过SpringConfigu

2022-01-05 18:55:38 140

原创 Spring学习笔记之注解开发(一):Spring的注解介绍

Spring原始注解四种创建Bean的注解:@Component(id) 用在任意类上,创建Bean对象@Comtroller(id) 用在web层类上,创建Bean对象@Service(id) 用在service层类上,创建Bean对象@Repository(id) 用在dao层类上,创建Bean对象注入引用属性的注解:@Autowired 用在属性名上,根据类型依赖注入@Qualifier(name) 结合@Autowired,根据id注入@Resource(name) = @Auto

2022-01-05 18:30:40 91

原创 Spring学习笔记之Spring-02-DataSource-xml(用xml配置数据源)

背景这是我学习黑马SSM教程P21-P27时记下的笔记,项目的地址在:https://github.com/RamboKingder/Spring_Learning这一节其实没啥太新的东西,就是数据源对象需要用set方法去设置:driver、url、username、password参数但是配置的方式分为很多种:一、平时最常用的方法就是在代码里面new DataSource对象,然后把字符串传给datasource的setXXX()方法,例如:DruidDataSource dataSource

2022-01-05 14:54:32 2943

原创 Spring学习笔记之Spring-01-Hello项目

背景:这是我学习黑马SSM教程P1-P20时写的代码和笔记,他的视频不自己记一记的话直接就忘了。。。我用到的Spring-01-Hello项目的Github地址:https://github.com/RamboKingder/Spring_Learning/tree/main一、创建一个简单的Spring项目的具体流程:1. 使用Maven-archetype-webapp模板创建一个简单的Spring项目用模板创建的项目需要两个优化:在main文件夹下添加java文件夹和resources文件夹

2022-01-05 11:51:16 53

原创 MVC三层架构与SpringMVC

个人感觉MVC三层应该改名为MCV三层架构毕竟这样才更符合底层到顶层的逻辑顺序Model 模型数据持久化层:CRUD (Dao) 只完成增删改查业务处理:业务逻辑 (service)Controller 控制器 (Servlet)接受用户的请求 (req参数、Session信息)控制视图的跳转 (请求转发、重定向)View 视图展示数据提供连接发起Servlet请求:<a, <form, <img...

2022-01-02 23:39:59 541

原创 JavaWeb之用Maven创建项目的几种方式

什么是Maven?Maven是一个项目管理工具,它的一个重要的功能就是自动导入jar包,只需要在Maven项目中的pom.xml中写入要导入的包,他就会帮我们自动导入。回想起在我们使用JDBC的时候,需要手动导入mysql-connector-jar包而使用Maven来创建的话,就很方便,在pom.xml中指定这个包即可。在JavaWeb开发中,经常会用到servlet和jsp相关的包,如果每次都要手动导入非常麻烦,所以用Maven来创建项目,导入包的时候就轻松多了。本文重点说的是在IDEA中

2022-01-02 22:16:04 1282

原创 JavaWeb学习之Cookie、Session

1.CookieCookie是保存会话的一种客户端技术,直观理解就相当于学生证客户端第一次访问服务器的时候,服务器会给客户端一个Cookie,然后客户端会把它保存下来客户端下次再访问服务器的时候,只需要向服务器展示它的Cookie,服务器就能识别这个客户端2.SessionSession是保存会话的一种服务器技术,直观理解就相当于花名册客户端第一次访问服务器的时候,服务器会为它创建一个Session并保存下来除此之外,还会给客户端一个叫SessionId的Cookie下次客户端再访问的时候,

2022-01-02 22:15:42 1137

原创 JavaWeb学习之过滤器(Filter)

Filter(过滤器)过滤器:可以用来过滤网站的数据、解决编码问题、实现登录验证和权限拦截等等就像写Servlet要实现Servlet一样,编写过滤器要实现Filter接口然后,主要的任务就是编写doFile(req, response, fileChain)方法fileChain.doFile(req, response);这条语句必须要写,请求经过过滤器就会停止,不会继续传下去下面写的过滤器可以解决中文乱码的问题:public class CharacterEncodingFilter im

2022-01-02 22:13:58 154

原创 JavaWeb学习之Servlet

1.什么是Servlet?Java Servlet是运行在web服务器上的一个程序,它是客户端请求和服务器资源或者程序的一个中间层的架构。所以Servlet由web服务器调用,可以获取并处理客户端的请求,也可以对请求做出响应的响应。2.Servlet编程步骤前置:在项目中导入了javax.servlet-api包,一般4.0.1版本的即可1.自定义类:编写一个实现Servlet接口的类,或者直接继承HttpServlet类就可以了2.注册:在项目中的web.xml中为自己编写的类注册一下,并指定

2022-01-02 18:28:14 288

原创 JavaWeb学习之MicrosoftEdge中文乱码的问题

解决狂神JavaWeb学习中Cookie那一节浏览器中文乱码的问题。

2022-01-02 13:13:13 524

原创 JavaWeb的基本概念

背景:花了五天的时间把狂神的JavaWeb视频大体刷了一遍,现在在这里写一点笔记和总结。1.什么是JavaWeb?Java Web,是用Java技术来解决相关web互联网领域的技术栈。Java在服务器端的应用非常的丰富,比如Servlet/JSP、第三方框架等等。Java技术对Web领域的发展注入了强大的动力。2.Web应用程序和Tomcat服务器Web应用程序:可以提供给浏览器访问的应用程序通常,我们写好的Web应用程序需要布署到Tomcat服务器中具体保存在Tomcat目录下的webap

2022-01-02 09:40:00 339

原创 Java连接MySQL数据库(JDBC的基础使用)

第一步:导入连接MySQL必须要的驱动包首先导入必要的连接MySQL的驱动import com.mysql.cj.jdbc.Driver;会发现以上这条语句在IDEA中会报错,这是因为它用到了mysql-connector-java-8.0.27.jar包这个包在我们标准的jdk库里面是没有的,所以必须手动导入那我们先得去Maven仓库https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.26下载这个包点击jar开

2022-01-01 22:15:13 1035

原创 Matplotlib 学习笔记

顶顶顶顶顶顶顶顶顶顶顶顶

2021-07-31 16:44:32 428

原创 PyTorch 分类任务的softmax以及CrossEntropyLoss

多分类任务不需要在输出层使用softmax函数今天在看nn.CrossEntropyLoss()的文档的时候看到两句话:1.The input is expected to contain raw, unnormalized scores for each class.input 的维度要求是 [batch, C],其中C是分类的总数2.target 的维度直接是 batch就行了,而不需要进行 one-hot猛然醒悟,原来CorssEntropyLoss()函数里面会自动调用softmax函数

2021-07-30 19:44:41 2472 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除