
SSM框架
文章平均质量分 64
在学习SSM框架过程中的笔记
Lavender-csdn
这个作者很懒,什么都没留下…
展开
-
Spring循环依赖问题
学习地址:https://www.bilibili.com/video/BV1ET4y1N7Sp?p=21、什么是Spring循环依赖?2、循环依赖怎么解决?3、Spring中为什么要使用三级缓存来解决循环依赖?二级缓存能不能解决循环依赖问题?什么是Spring循环依赖首先了解Bean的创建与管理过程:结论:获取Bean的时候先从单例池中获取,如果没有则创建并添加到单例池。获取Bean找bean工厂,调用两次单例池。第一次通过beanName获取,如果单例池中并没有这原创 2021-03-25 20:22:22 · 224 阅读 · 0 评论 -
MyBatis中动态sql
动态sqlsql的内容是变化的,可以根据条件获取到不同的sql语句,主要是where部分发生变化动态sql的实现,使用的是mybatis提供的标签:<if> <where> <foreach>动态SQL之<if>语法<if test="判断java对象的属性值">部分sql语句</if>使用示例<select id="selectUserIf" resultType="com.ith..原创 2021-02-27 14:56:59 · 167 阅读 · 0 评论 -
MyBatis中的模糊查询--like
第一种方式在mapper文件中<!--第一种like,java代码中指定like的内容--><select id="selectLikeOne" resultType="com.itheima.domain.User"> select * from user where username like #{name}</select>在java代码中//需要准备好模糊查询的内容String name = "%i%";List<U原创 2021-02-27 12:07:51 · 316 阅读 · 0 评论 -
MyBatis中列名和属性名不一致的两种解决方法
使用resultMap该方式的详细用法见封装MyBatis输出结果那一篇博客。使用列别名resultType的默认原则是:同名的列值赋值给同名的属性这个时候可以从sql语句下手,使用列别名,这里面的列别名和java对象中的属性名一致<select id="selectAlias" resultMap="com.itheima.domain.User"> select id as myid,username as myname from user </sel原创 2021-02-27 11:48:10 · 635 阅读 · 0 评论 -
封装MyBatis输出结果
MyBatis的输出结果:mybatis执行了sql语句,得到java对象resultType结果类型。对象类型指的是sql语句执行完毕之后,数据转为的java对象,,java类型是任意的。处理方式:1)mybatis执行sql语句,然后mybatis调用类的无参数构造方法,创建对象2)mybatis把ResultSet指定列值赋给同名的属性<select id="findAll" resultType="com.itheima.domain.User">..原创 2021-02-27 11:36:57 · 201 阅读 · 0 评论 -
MyBatis参数传递
MyBatis中也适用了动态代理模式:使用SqlSession.getMapper(dao接口.class),获取这个dao接口的对象传入参数:从java代码中把数据传入到mapper文件的sql语句parameterType写在mapper文件中的一个属性,表示dao接口中方法的参数的数据类型例如UserDao接口public User selectUserById(Integer id):该方法需要传递一个整型的参数那么在mapper.xml中配置<select..原创 2021-02-26 21:47:56 · 286 阅读 · 0 评论 -
SqlSessionFactory与SqlSession对象介绍
MyBatis中主要类介绍Resources:负责读取主配置文件InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");SqlSessionFactoryBuilder:创建SqlSessionFactory对象SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();SqlSessionFactory factory= builder.原创 2021-02-26 15:23:40 · 1288 阅读 · 0 评论 -
SpringMVC中的注解
RequestMapping注解作用:用于建立请求URL和处理请求方法之间的对应关系出现位置:类上:请求URL的第一级访问目录方法上:请求URL的第二级访问目录属性:value:用于指定请求的URL,和path属性的作用是一样的method:用于指定请求的方式params:用于指定限制请求参数的条件。它支持简单的表达式,要求请求参数的key和value必须和配置一模一样例如:headers:用于指定限制请求消息头的条件请求参数的绑定表单中的请求参数原创 2021-02-25 15:05:55 · 235 阅读 · 0 评论 -
初识SpringMVC
SpringMVC在三层结构中的位置小案例流程:SpringMVC的请求响应流程SpringMVC框架基于组件的方式执行流程。SpringMVC中的组件1、DispatcherServlet:前端控制器用户请求到达前端控制器,就相当于MVC模式中的C,dispatcherServlet是整个流程控制的中心,由它调用其他组件处理用户的请求,dispatcherServlet的存在降低了组件之间的耦合性。2、HandlerMapping:处理器映射器HandlerM.原创 2021-02-25 10:35:15 · 130 阅读 · 0 评论 -
Spring中的AOP
AOP的概念面向切面编程作用:在程序运行期间,不修改源码对已有方法进行增强优势:减少重复代码,提高开发效率,维护方便实现方式:使用动态代理技术AOP的相关术语1、Joinpoint(连接点):所谓连接点就是指那些被拦截到的点,在spring中,这些点指的是方法,因为spring中只支持方法类型的连接点2、Pointout(切入点):所谓切入点是指我们要对哪些Joinpoint进行拦截的定义,指的就是被增强的方法 注意:所有的切入点都是连接点,但是不是所有的连...原创 2021-02-24 15:49:41 · 108 阅读 · 0 评论 -
Spring中的动态代理
基于接口的动态代理/*** 动态代理特点;字节码随用随创建,随用随加载* 作用:在不修改源码的基础上对方法增强* 分类:* 基于接口的动态代理* 基于子类的动态代理* 基于接口的动态代理:* 涉及的类:Proxy* 提供者:JDK官方* 如何创建代理对象:* 使用Proxy类中的newProxyInstance方法* 创建代理对象的要求:* 被代理的类最少实现一个接口,如果没有则不能使用* newProxyIn...原创 2021-02-24 15:25:20 · 119 阅读 · 0 评论 -
Spring中的新注解
* spring中的新注解* @Configuration* 作用:指定当前类时一个配置类* 细节:当配置类作为AnnotationConfigApplicationContext对象创建的参数时候,该注解可以不写* @ComponentScan* 作用:用于通过注解指定spring在创建容器时候要扫描的包* 属性:* value:它和basePackages的作用是一样的,都是用于指定创建容器时候要扫描的包* ..原创 2021-02-24 14:23:10 · 148 阅读 · 0 评论 -
基于注解的IOC配置
注解配置和xml配置类实现的功能都是一样的,都是要降低程序之间的耦合,只是配置的形式不一样。常用IOC注解按照作用进行分类曾经的XML配置(不使用注解):<bean id="accountService" class="com.itheima.service.impl.AccountServiceImpl" scope=""init-method="" destory-method=""><property name="" value=""></propert原创 2021-02-24 12:46:59 · 93 阅读 · 0 评论 -
Spring中的依赖注入
依赖注入Dependency InjectionIOC的作用:降低程序之间的耦合依赖关系的管理:以后都交给Spring来维护在当前类需要用到其他类的对象,由spring为我们提供,我们只需要在配置文件中说明依赖关系的维护就称之为依赖注入。能注入的数据有三类1、基本类型和String2、其他bean类型(在配置文件中或者注解配置过的bean)3、复杂类型/集合类型注入的方式有三种1、使用构造函数提供2、使用set方法提供3、使用注解提供构造函数注入原创 2021-02-24 11:17:45 · 169 阅读 · 0 评论 -
Spring中Bean的细节
三种创建Bean对象的方式第一种方式:适用默认构造函数创建在Spring的配置文件中使用bean标签,配以id和class属性之后,且没有其他属性和标签时,采用的就是默认构造函数创建bean对象,此时如果类中没有默认构造函数,则对象无法创建。<bean id="accountService" class="com.itheima.service.impl.AccountServiceImpl"></bean>第二种方式:使用普通工厂中的方法创建对对象(使用某个类中的原创 2021-02-24 10:47:23 · 103 阅读 · 0 评论 -
IOC详解
IOC的概念和作用1、采用new创建对象:2、使用工厂模式创建对象IOC:控制反转,把创建对象的权利交给框架,是框架的重要特征,并非面向对象编程的专用术语,它包括依赖注入和依赖查找明确IOC的作用:削减计算机程序的耦合(解除我们代码中的依赖关系),使用spring的IOC解决程序耦合。Spring基于XML的IOC环境搭建bean.xml文件<?xml version="1.0" encoding="UTF-8"?><beans xmln..原创 2021-02-24 10:09:31 · 231 阅读 · 0 评论 -
初识Spring
Spring的概述Spring是一个轻量级Java开发框架,最早有Rod Johnson创建,目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题。它是一个分层的JavaSE/JavaEE full-stack(一站式)轻量级开源框架,为开发Java应用程序提供全面的基础架构支持。Spring负责基础架构,因此Java开发者可以专注于应用程序的开发。Spring可以做很多事情,它为企业级开发提供给了丰富的功能,但是这些功能的底层都依赖于它的两个核心特性,也就是依赖注入(dependency原创 2021-02-23 20:42:54 · 129 阅读 · 0 评论