![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
ssm
文章平均质量分 52
ssm笔记
单俞浩
少一点幻想,多一些行动
展开
-
ssm整合
1、导入pom依赖<dependencies> <!-- https://mvnrepository.com/artifact/junit/junit --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version&原创 2022-03-26 19:56:39 · 446 阅读 · 0 评论 -
mybatis的学习6(关于Generator逆向工程的应用)
Generator:根据数据库来逆向生成实体类、sql语句等,点击跳转至官方网址1、导入pom依赖<!-- https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core --> <dependency> <groupId>org.mybatis.generator</groupId> <ar原创 2022-03-23 11:18:11 · 1402 阅读 · 0 评论 -
mybatis的学习5(关于一级缓存、二级缓存、第三方缓存的应用)
mybatis缓存其实跟计算机的Cache高速缓冲存储器是一个道理,是用来放在中间层,而mybatis的缓存应用时用来放在web与数据库中间,存已经查询过的数据。mybatis缓存机制:若连续执行两条相同的SQL语句,可以直接从缓存中获取,如果获取不到,再去数据库中查找。1、缓存分为一级缓存、二级缓存、第三方缓存(1)一级缓存:表示将数据存在SQLSession中,每次查询的时候都会开启一个会话,关闭后数据失效,默认是开启状态。(2)二级缓存:全局范围的缓存,在SqlSession关闭后才会生效(原创 2022-03-22 17:32:52 · 745 阅读 · 0 评论 -
mybatis的学习4(动态sql:where、choose、trim、foreach的应用)
关于mybatis的动态SQL官网网址点击跳转动态SQL其实就是你可以加上自定义的条件,从而更好的获取到需要的数据。这是映射文件的结果集映射,后面都要用的<resultMap id="admin" type="com.csh.bean.Admin"> <id property="adminAccount" column="admin_account"></id> <result property="adminPwd" colum原创 2022-03-20 17:00:36 · 1066 阅读 · 0 评论 -
mybatis的学习3(select查询语句多个数据表查询collection、association的使用)
在使用select语句时,有时候需要查询两个表,可以使用表连接进行查询,也可以用mybatis给我们提供的collection标签collection标签是在结果集映射的时候添加,也就是在resultMap标签添加,且不能放在result标签前面collection标签属性有许多,但是基本用法只需要property、select、column例如:<resultMap> <id property="结果集映射主键的实体类参数" column="数据库主键字段"></i原创 2022-03-20 14:37:28 · 3646 阅读 · 0 评论 -
mybatis的学习2(关于xml映射文件的insert、update、delete、select以及参数值获取)
xml的映射文件,是用来写sql语句的配置文件,其中insert、update、delete的用法基本上是一样的,select用法会比较复杂一点。1、insert、update、delete用法:基本用法其实很简单,就是需要用什么就用什么标签,传入的参数值用#{}、${}表示,后面做详细介绍mapping配置文件:<!--mapper表示参数传入的方法类--><mapper namespace="com.csh.dao.AdminDao"> <insert id="s原创 2022-03-19 17:18:12 · 3971 阅读 · 0 评论 -
mybatis的学习1(关于mybatis的配置文件configuration)
mybatis官网详解mybatis配置官网地址1、properties(1)在引入外部文件的时候,可以使用properties<!-- 当需要引入外部文件时,可以使用<context:property-placeholder location> resource:表示从当前类路径加载,如果用的是idea,指的是resources目录下 url:可以从当前文件系统的磁盘上寻找配置,也可以从网络资源上引入 --> <propertie原创 2022-03-18 15:32:27 · 1001 阅读 · 0 评论 -
SpringMVC的学习13(关于springmvc三种异常处理机制的应用)
springmvc中是有默认的异常处理机制的,但是我们也可以自定义异常处理。主要有:@ControllerAdvice、@ResponseStatus、@ExceptionHandler1、三种处理机制的使用@ControllerAdvice:异常处理全局配置@ResponseStatus:可定义在方法上也可以定义在类上,一般定义在类上@ExceptionHandler:定义于方法上2、处理机制的优先级每次在找异常处理时,先在本类中查找,然后再找全局配置(1)优先级若在三种处理机制都定义的情原创 2022-03-14 17:55:04 · 511 阅读 · 0 评论 -
SpringMVC的学习12(springmvc中关于拦截器的应用)
在定义拦截器时需要实现HandlerInterceptor后通过接口中的方法去实现即可(1)实现接口Interceptor的MyInterceptor类public class MyInterceptor implements HandlerInterceptor { /** * 在处理器处理具体方法之前开始执行 * @param request * @param response * @param handler * @return 注意返回值原创 2022-03-13 16:04:49 · 537 阅读 · 0 评论 -
SpringMVC的学习11(springmvc中关于获取请求体及定制响应内容的应用)
1、获取请求体使用的是HttpEntity类/** * 获取请求体信息 * @param httpEntity * @return */ @RequestMapping("/test") public String test(HttpEntity<String> httpEntity){ System.out.println(httpEntity); String body = httpEntity.get原创 2022-03-12 16:48:20 · 469 阅读 · 0 评论 -
SpringMVC的学习10(关于@ResponseBody、@RequestBody的应用)
1、@ResponseBody:表示把当前请求返回的内容直接作为响应体,用来接收如:@Controllerpublic class JsonController { @ResponseBody @RequestMapping("/json") public List<User> json(User user){ List<User> list = new ArrayList<User>(); list.add(原创 2022-03-12 16:45:40 · 320 阅读 · 0 评论 -
SpringMVC的学习9(@DateTimeFormat、@NotNull、@Length、@Past、@Email)
1、@DateTimeFormat:设置日期格式,springmvc中默认的类型转换器是使用“/”作为分隔,若想要更改类型格式,只需在实体类日期属性上添加@DataTimeFormat("格式")即可在使用的时候需要注意,若自定义了类型转换器,则设置的日期可视化器就会失效,需要使用FormattingConversionServiceFactoryBean对象才可正常使用2、在进行数据校验时,可使用@NotNull、@Length、@Past、@Email注解,这是JSR303标准的校验框架,sprin原创 2022-03-12 11:43:56 · 2075 阅读 · 0 评论 -
SpringMVC的学习8(自定义类型转换器)
自定义类型转换器需要实现Converter接口中的方法,通过方法进行类型转换,最后将实现Converter接口的实体类值传入ConversionServiceFactoryBean类中的converters属性中,最后使用mvc:annotation-driven标签启动动态请求<mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>(1)实现接口Converte原创 2022-03-11 16:27:52 · 255 阅读 · 0 评论 -
SpringMVC的学习7(自定义视图解析器)
在springMVC中,使用的视图解析器是InternalResourceViewResolver类,通过定义前缀和后缀来实现页面的跳转与渲染。但能否自己自定义视图解析器呢?1、进入InternalResourceViewResolver类的源码,通过继承关系可以得知最后是继承至接口ViewResolver2、我们可以按照源码实现ViewResolver接口中的方法一般去实现(1)自定义类实现接口public class MyViewResolver implements ViewResolver原创 2022-03-10 17:27:34 · 614 阅读 · 0 评论 -
SpringMVC的学习6(转发forward与redirect的应用、访问静态资源)
1、forward转发在方法返回结果加上forward前缀,转发再转发则方法返回结果加上forward:/forward@Controllerpublic class ForWardController { @RequestMapping("/forward") public String forward1(){ System.out.println("forword1"); return "forward:/hello.jsp"; }原创 2022-03-10 15:29:16 · 459 阅读 · 0 评论 -
SpringMVC的学习5(@SessionAttributes、@ModelAttribute注解的使用)
1、@SessionAttributes使用时在类名上添加该注解@SessionAttributes(value = {"username","hello"},types = Integer.class)(1)注解表示在向request作用域中设置属性值的时候,顺带向session中保存一份(2) value和types都写上之后表示session中存储名字为value的参数以及类型为Internet的参数(3)value和types可以分开使用,但是尽量不要单独使用types会把全部符合要求的值都原创 2022-03-08 17:27:52 · 230 阅读 · 0 评论 -
SpringMVC的学习4(spring的过滤器)
<!--使用springMVC的过滤器--> <filter> <filter-name>encoding</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param原创 2022-03-07 16:44:33 · 65 阅读 · 0 评论 -
SpringMVC的学习2(关于Rest规范,将post转换为put、delete请求)
在写jsp form表单时,我们可以发现只有post和get请求,但是在发送请求的时候有不同的请求方式,能不能通过请求方式来做一次转换,将不一样的请求作为不一样的数据处理。POST 新增 /userGET 获取 /userPUT 更新 /user/1DELETE 删除 /user/11、Controller中,通过注解@RequestMapping在method属性添加请求方式@RequestMapping(value =原创 2022-03-07 15:46:20 · 572 阅读 · 1 评论 -
SpringMVC的学习3(springMVC中的注解@PathVariable、@RequestParam、@RequestHeader、@CookieValue)
1、@PathVariable:获取@RequestMapping请求路径中的值@RequestMapping("/theRequestPath/{name}") public String testRequestPath(@PathVariable("name") String name){ System.out.println(name); return "success"; }2、@RequestParam:获取请求参数中的值@RequestMa原创 2022-03-07 15:26:18 · 98 阅读 · 0 评论 -
springMVC的学习1(什么是MVC、SpringMVC的xml文件配置、SpringMVC的注解配置)
1、什么是MVCMVC是模型(Model)、视图(View)、控制器(Controller)的简写,MVC主要作用是降低了视图与业务逻辑间的双向耦合。MVC是一种架构模式。(1)模型(Model):数据模型,提供要展示的数据,包含数据和行为,一般分为:Value Object(数据Dao),服务层(行为Service);(2)视图(View):负责进行模型的展示,一般是我们见过的用户界面,html页面等;(3)控制器(Controller):用于接收用户请求,委托给模型进行处理(状态改变),处理完毕原创 2022-03-05 16:14:38 · 244 阅读 · 0 评论 -
Spring关于AOP的学习5(声明式事务及传播特性、事务在xml上的配置)
事务:事务是数据库操作的最小单元,也就是事务中执行的操作要么一起成功,要么一起回滚,因为他是最小的操作单元。事务的特性:原子性、一致性、隔离性、持续性。事务的隔离级别:(1)Serializable(序列化) (2)Repeatable read(可重复读) (3)3.Read Committed(已提交读) (4)Read Uncommitted(未提交读),具体可参考https://www.huaweicloud.com/zhishi/edu-arc-sjkzs37.html1、在spring中声原创 2022-03-02 10:58:07 · 288 阅读 · 0 评论 -
Spring关于AOP的学习4(采用配置文件形式进行切面)
以配置文件形式配置AOP基本上不怎么用,但其实写法也跟注解的写法差不多,首先要引入aop的标签库<beans xmlns:aop="http://www.springframework.org/schema/aop"xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">引入标签库后对要配置的类原创 2022-02-26 16:57:18 · 329 阅读 · 0 评论 -
Spring关于AOP的学习3(AOP注解2:@Pointcut、@Around、关于两个切面类的执行顺序)
AOP注解:(1)@Pointcut:在使用其他注解时,需要写包的表达式,而@Pointcut就是用来声明一样的包路径,已达到代码简便/** * 多个方法的表达式一样,可以自定义一个无参构造方法, * 定义后添加@PointCut,后续使用可以直接调用 * 此处的方法只是起到一个声明作用,能够提供内部其他通知方法的调用 */ @Pointcut("execution(public Integer com.msb.service.MyCalculcator.原创 2022-01-23 12:28:50 · 4717 阅读 · 1 评论 -
Spring关于AOP的学习2(AOP的注解1)
1、注解@Before:前置通知,在方法执行之前执行@After:后置通知,在方法执行完成之后执行@AfterReturing:返回通知:在返回结果之后运用@AfterThrowing:异常通知,出现异常的时候使用@Around:环绕通知2、导入pom依赖<!--context:有关于bean引用--><dependency> <groupId>org.springframework</groupId> <artifac原创 2022-01-15 15:13:56 · 90 阅读 · 0 评论 -
Spring关于AOP的学习1(使用jdk中的动态代理--Proxy)
AOP:面向切面编程,将某段代码动态切入到指定方法的指定位置进行运行的这种编程方式。原创 2021-12-08 11:07:45 · 187 阅读 · 0 评论 -
Spring的IOC学习6(IOC的注解应用、定义扫描包时要包含的类和不包含的类、使用Autowired实现自动注入、@Resource的使用、泛型依赖注入)
项目准备工作:创建package分层:bean、controller、services、dao配置maven pom依赖添加测试类,使用单元测试Junit <!-- https://mvnrepository.com/artifact/org.springframework/spring-context --> <dependency> <groupId>org.springframework</groupId>原创 2021-12-07 10:33:42 · 215 阅读 · 0 评论 -
Spring的IOC学习5(管理第三方bean、引入外部配置文件、基于xml文件的自动装配、spEL表达式语言)
1、管理第三方beanioc.xml<!-- 调用第三方的bean 这里调用的是阿里巴巴开发的druid中的DruidDataSource数据连接池,从而连接数据库 --> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"> <property name="username" value="root"></pro原创 2021-12-06 15:45:34 · 941 阅读 · 0 评论 -
Spring的IOC学习4(对象的初始化与销毁、配置bean对象初始化前后的处理方法)
1、bean对象的初始化与销毁:在实体类中添加初始化与销毁的方法:Person.classpublic void init(){ System.out.println("对象被初始化")}public void destroy(){ System.out.println("对象被销毁")}ioc.xml <!-- bean对象是初始化与销毁 scope属性:默认是singleton,若设置为prototype,销毁方法不会被调用 -->原创 2021-12-04 16:41:37 · 458 阅读 · 0 评论 -
Spring的IOC学习3(bean的作用域、利用工厂模式创建bean对象以及继承FactoryBean来创建bean)
bean对象的作用域:在xml文件中可以通过scope属性设置当前bean的作用域singleton:单例模式,从容器中获取到的都是同一个对象,默认的作用域。prototype:多例模式,从容器中获取到的对象每一次都是新创建的。创建时间:singleton:在创建IOC容器完成之前此对象就已经被创建prototype:每次需要使用到此对象才会被创建 在spring4.x中还有两种作用域: request:每次发送请求都有一个新的对象 session:每一次原创 2021-12-04 15:29:15 · 302 阅读 · 0 评论 -
Spring的IOC学习2(bean标签的应用)
Person.javapackage com.msb.bean;import java.util.*;public class Person { private int id; private String name; private Integer age; private String grender; private String[] hobbies; private Address address; private List<原创 2021-12-04 11:06:42 · 186 阅读 · 0 评论 -
基于IDEA关于Maven的基本使用
maven仓库:https://mvnrepository.com/maven包下载:http://maven.apache.org/download.cgi1、下载maven包:2、解压至本地后打开…\apache-maven-3.8.4\conf\settings.xml3、更换为阿里云镜像仓库<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>原创 2021-12-01 10:36:21 · 145 阅读 · 0 评论 -
Spring的IOC学习1(IOC使用XML配置文件的基本使用)
前置条件:导入spring中需要的jar包Spring的核心就是IOC(控制反转,及在获取对象时需要需new一个对象,使用IOC便是让别人给你一个对象)和AOP(面向切面)。IOC的基本使用:1、实体类创建:package com.msb.bean;public class Person { private int id; private String name; private int age; private String gender; publ原创 2021-12-01 09:58:45 · 351 阅读 · 0 评论