![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SSM学习
文章平均质量分 79
韦恩少爷的背
研究方向:工业软件、MBSE
展开
-
动态代理的介绍(非aop) 基于接口 基于子类 举例说明
动态代理方式动态代理:特点:字节码随用随创建,随用随加载作用:不修改源码的基础上对方法增强分类: 基于接口的动态代理 基于子类的动态代理一、基于接口的动态代理 基于接口的动态代理: 涉及的类:Proxy 提供者:JDK官方 如何创建代理对象: 使用Proxy类中的newProxyInstance方法 创建...原创 2020-03-19 23:39:23 · 242 阅读 · 0 评论 -
动态代理(基于接口)的方式实现线程绑定和事务控制(非aop)
基于接口的动态代理的方式实现线程绑定和事务控制首先我们来看一看实现Service的两种方法1.本身就是一个实现类2.动态代理的方式原创 2020-03-20 18:14:21 · 313 阅读 · 0 评论 -
Mybatis注解开发使用二级缓存
Mybatis注解开发一级缓存开启二级缓存 ...原创 2020-03-04 16:56:13 · 331 阅读 · 0 评论 -
Spring整合junit问题分析 @RunWith@ContextConfiguration介绍
Spring整合junit问题分析1.应用程序的入口 main方法2.junit单元测试中,没有main方法也能执行 junit集成了一个main方法 该方法就会判断当前测试类中哪些方法有 @Test注解 junit就让有Test注解的方法执行、3.junit不会管我们是否采用spring框架 在执行测试方法时,junit根本不知道我们是不是使用了spring框架 所以也就不会为...原创 2020-03-04 11:26:23 · 843 阅读 · 0 评论 -
Spring 基于注解的ioc案例 完全代替xml 详细分析 @Configuration注解的细节
spring注解介绍spring中的新注解 @Configuration 作用:指定当前类是一个配置类 @ComponentScan 作用:用于通过注解指定spring在容器中要扫描的包 属性: value basePackages的作用是一样的,都是用于指定创建容器时要扫描的包 使用此注解就等同于在xml配...原创 2020-03-03 23:52:54 · 255 阅读 · 0 评论 -
Spring 基于xml的ioc案例 搭建spring开发环境思路分析
基于xml的ioc案例结构图一、pom.xml导坐标<packaging>jar</packaging> <dependencies> <!--spring的坐标--> <dependency> <groupId>org.springframework&l...原创 2020-03-03 15:16:40 · 168 阅读 · 0 评论 -
Spring用于改变作用范围的注解@Scope 和生命周期相关的注解@PreDestroy@PostConstruct
用于改变作用范围的@Scope注解 他们的作用就和在bean标签中使用scope属性实现的功能是一样的 @Scope 作用:用于指定bean的作用范围 属性: value:指定范围的取值。常用取值:singleton prototype(默认单例默认单例多例和生命周期相关的(了解)@PreDestroy@PostConstruct...原创 2020-03-02 02:08:24 · 230 阅读 · 0 评论 -
Spring用于创建对象的注解@Autowired@Qualifier @Resource 以及@Autowired多个匹配选择的分析
用于注入数据的@Autowired注解 用于注入数据的 他们的作用就和在XML配置文件中bean标签中写一个<property>标签的作用是一样的 @Autowired: 作用:自动按照类型注入。只要容器中有唯一的一个bean对象类型和要注入的变量类型匹配,就可以注入成功 如果ioc容器中没有任何bean的类型和要注入的变量类型匹配,则报错。 ...原创 2020-03-02 00:33:14 · 852 阅读 · 0 评论 -
Spring用于注入数据的注解@Component@Controller@Service@Repository
常见IoC注解按照作用分类除了一般的maven需要这个jar包我们也需要告知spring在创建容器时要扫描的包,配置所需要的标签不是在beans的约束中,而是一个名称为 context名称空间和约束中用于创建的@Component注解用于创建对象的他们的作用就和在XML配置文件中编写一个<bean>标签实现的功能是一样的 @Component: 作用:用于...原创 2020-02-29 22:37:41 · 399 阅读 · 0 评论 -
Mybatis表之间的关系分析 注解开发 @One @Many介绍 一对一 一对多
延迟加载,立即加载,对一一般选用立即加载,对多用延迟加载原创 2020-02-28 16:33:55 · 1706 阅读 · 0 评论 -
Mybatis中的延迟加载 一级缓存 二级缓存
Mybatis中的延迟加载问题:在一对多中,当我们有一个用户,它有100个账户。在查询用户的时候,要不要把关联的账户查出来?在查询账户的时候,要不要把关联的用户查出来?在查询用户时,用户下的账户信息应该是,什么时候使用,什么时候查询的。在查询账户时,账户的所属用户信息应该是随着账户查询时一起查询出来。什么是延迟加载在真正使用数据时才发起查询,不用的时候不查询。按需加载(懒加载)什么...原创 2020-02-25 16:18:49 · 214 阅读 · 0 评论 -
Spring入门 基于XML的IoC环境搭建和入门 ApplicationContext的三个实现类 BeanFactory和ApplicationContext的区别
<packaging>jar</packaging> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context&l...原创 2020-02-23 23:47:49 · 154 阅读 · 0 评论 -
Spring的依赖注入 构造函数注入 Set注入
spring中的依赖注入依赖注入: Dependency InjectionIOC的作用:降低程序间的耦合(依赖关系)依赖关系的管理:以后都交给spring来维护在当前类需要用到其他类的对象,由spring为我们提供,我们只需要在配置文件中说明依赖关系的维护 就称之为依赖注入。依赖注入: 能注入的数据类型:有三类 基本类型和String 基本bea...原创 2020-02-22 12:46:51 · 1265 阅读 · 1 评论 -
spring中bean的细节 三种创建bean对象的方法 bean作用范围 bean对象的生命周期
spring中bean的细节一、之三种创建bean对象的方法把对象的创建交给spring来管理<!-- spring对bean的管理细节 1.创建bean的三种方式 2.bean对象的作用范围 3.bean对象的生命周期 -->创建Bean的三种方式第一种方式:使用默认构造函数创建。 在spring的配置文件中使用bea...原创 2020-02-21 16:28:18 · 387 阅读 · 0 评论 -
Spring初学入门 如何降低耦合 Bean工厂模式创建对象 IoC简述(为什么叫做控制反转
Inversion of Control,缩写为IoC这两行代码表现了截然不同的创建对象的方式 IAccountService as = new AccountServiceImpl(); IAccountService as = (IAccountService) BeanFactory.getBean("accountService");第一种new的方式,如下图...原创 2020-02-20 12:33:49 · 336 阅读 · 0 评论 -
Mybatis中的动态sql语句 if标签 where标签 foreach标签 sql标签
Mybatis中的动态sql语句首先写个方法 /** * 跟进传入参数条件查询 * @param user 查询的条件:有可能有用户名,有可能有性别,也有可能有地址,还有可能都有 * @return */ List<User> findByCondition(User user);if标签对应resource中也要添加<...原创 2020-02-18 19:45:01 · 799 阅读 · 0 评论 -
Mybatis中的事务原理和自动提交设置 事务的四大特性 不考虑隔离性会产生的3个问题及解决办法
Mybatis中的事务原理和自动提交设置Mybatis中的事务什么是事务事务是指的是一个业务上的最小不可再分单元,通常一个事务对应了一个完整的业务,而一个完整的业务需要批量的DML语句共同联合完成。事务的四大特性ACIDa:原子性:事务里的内容要么全部成功要么都不成功。c:一致性:事务前后数据的完整性保持一致,如:a给b转一千块,事务执行以后,a和b的钱总数是一样的。i:隔离性:...原创 2020-02-17 23:34:02 · 707 阅读 · 0 评论 -
Mybatis连接池介绍与分类 Mybatis使用POOLED UNPOOLED配置连接池的原理分析
一、连接池1.概念:其实就是一个容器(集合),存放数据库连接的容器。当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器容器其实就是一个集合对象,该集合必须是线程安全的,不能两个线程拿到统一连接该集合还必须实现队列的特性:先进先出2.好处: 1.节约资源 2.用户访问高效###3.实现: ...原创 2020-02-16 21:15:35 · 3335 阅读 · 2 评论 -
resultType与parameterType简单区分 以及resultType报错解决 Error parsing SQL Mapper Configuration Error building
简单来说resultType是输出参数类型,把结果集封装到你需要的对象里面。parameterType是输入参数类型,用于获取参数值并拼接。一、parameterType指定输入参数类型,mybatis通过ognl从输入对象中获取参数值拼接在sql中。这里可以用typeAliases取别名代替,不用写全限定类名可以参考这一篇(下面链接typeAliases标签和package标签二、re...原创 2020-02-15 15:59:12 · 657 阅读 · 0 评论 -
typeAliases标签和package标签
typeAliases标签与package标签Mybatis 支持的默认别名,我们也可以采用自定义别名方式来开发。例如我们不想写一长串全限定类名一、typeAlias配置别名一般情况下我们需要这样写很长,这时候可以用typeAlias配置别名。使用typeAlias单个别名定义<typeAliases> <!-- 单个别名定义 --> <...原创 2020-02-15 15:41:59 · 2860 阅读 · 2 评论 -
Properties标签的使用及细节 Resource属性与URL属性介绍
properties(属性)在使用 properties 标签配置时,我们可以采用两种方式指定属性配置。1.直接给出值<dataSource type="POOLED"> <!-- 配置连接数据库的4个基本信息 --> <property name="driver" value="com.mysql.cj.jdbc.Driver"/> <pro...原创 2020-02-15 00:27:29 · 2116 阅读 · 0 评论 -
Mybatis分析Mybatis使用代理dao的执行过程 findAll流程分析
Mybatis使用代理dao的执行过程 findAll流程分析这里举例是想查找到SelectList方法这样就和上一P讲的后面是一样的了如何找到呢?不同于使用dao实现类的执行流程是什么呢?一步步来看我们现在只关心创建代理对象 也就是getMapper这个方法跟进去 并且按住ctrl+shift+H 进入DefaultSqlSession找到对应的方法也没有创建代理对象的操作...原创 2020-02-14 00:41:59 · 205 阅读 · 0 评论 -
IDEA看源码快捷键 如何返回上一步(上个光标处 如何查看程序执行流程 Debug实用技巧 如何查看变量的调用 如何查看类的继承
一、如何快速查看方法具体内容 Ctrl+左键想看一下这个getBean (按住CTRL指着他光标会变,即可进入)二、返回上/下个光标地方:Ctrl+Alt+小键盘← 和 Ctrl+Alt+小键盘→(非常有用!!!安利!!!看源码的时候 一直深入 可能看一看的就可能忘了上一步是什么了三、如何查看哪里调用过方法 也可以Ctrl+左键(或者Ctrl+Alt+F7同理我们在他的实现类里面...原创 2020-02-13 19:13:47 · 13342 阅读 · 7 评论 -
Mybatis( 源码 纯干货)分析编写dao实现类Mybatis的执行过程 findAll流程分析
以findAll为例分析编写dao实现类Mybatis的执行过程正式开始处进入正题前提代码:findAll方法 @Before//用于在测试方法执行方法执行之前执行 public void init()throws Exception{ //1.读取配置文件 目的是将SqlMapConfig.xml的信息加载进去 in = Resources.ge...原创 2020-02-13 01:06:04 · 375 阅读 · 0 评论 -
Mybatis执行findAll流程分析 创建代理对象的分析
自定义Mybatis流程分析一、连接数据库的信息可以创建Connection对象二、映射配置信息三、sql执行语句可以获取PreparedSatement同时resultType还有封装的实体类全限定类名以上三个部分都是读取配置文件:用到的技术就是解析XML的技术此处用的是dom4j解析xml技术我们需要提供两个信息第一个:连接信息 (解析配置文件)创建连接不多解释第...原创 2020-02-11 20:15:00 · 217 阅读 · 0 评论 -
Mybatis针对入门案例的设计模式分析 读取配置信息的方法 设计模式(后面补详细
针对入门案例的设计模式分析主要分析的是main函数里面的各个步骤 //1.读取配置文件 目的是将SqlMapConfig.xml的信息加载进去 InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml"); ...原创 2020-02-10 20:34:12 · 173 阅读 · 0 评论 -
Mybatis基于注解的案例 编写Dao实现类(实际开发不需要写)
一、基于注解的案例Mybatis通过 xml或注解的方式将要执行各种的statement配置起来,并通过java对象和statement中sql的动态参数进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射为java对象并返回准备步骤最好是创建一个新的project可以对比着来看,直接把原来src下文件夹覆盖过来pom.xml里面配置的dependencies也...原创 2020-02-09 22:24:17 · 750 阅读 · 0 评论 -
Mybatis入门案例
Mybatis入门案例整合log4j默认的mybatis不能打印出sql日志,不便于查看调试在resources下导入log4j.properties这一部分大家可以网上查查,我也不知道有没有用,不是很懂,可以评论告诉我我把我的代码放在下面(我也是copy的别人的)# Set root category priority to INFO and its only appender to ...原创 2020-02-08 15:46:30 · 465 阅读 · 0 评论 -
Mybatis创建dao接口、Mybatis主配置文件、创建映射配置文件
初学Mybatis Part 2 创建dao接口、Mybatis主配置文件、创建映射配置文件接续Part1我们已经创建maven工程并导入坐标接下来一、创建实体类和dao的接口1.创建的实体类public class User implements Serializable{ private Integer id; private String username; ...原创 2020-02-07 20:28:42 · 1506 阅读 · 0 评论 -
初学Mybatis 终极新手入门
初学Mybatis Part 1 终极新手入门下面类容不一定对哈,才接触没多久(甚至都是新学java),大部分都是看网课的文字描述加上一点点自己理解,轻喷,有什么不对的可以告诉我哦,我慢慢学习1.什么是框架它是软件(项目开发中的一套解决方案,不同的框架解决的是不同的问题使用框架的好处: 框架封装了很多细节,试开发者可以使用极简的方式实现功能。提高开发效率。2.三层架构表现层:...原创 2020-02-07 00:16:23 · 1425 阅读 · 0 评论