
spring
文章平均质量分 50
xixihaha_coder
坚持就是胜利!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
20-动态代理详解
动态代理详解 动态代理和静态代理角色一样 动态代理的代理类是动态生成的,不是我们直接写好的! 动态代理分为两大类:基于接口的动态代理,基于类的动态代理 基于接口—JDK动态代理【我们在这里使用】 基于类:cglib java字节码实现: javasist 需要了解两个类:Proxy:代理,InvocationHandler:调用处理程序 Proxy:生成动态代理这个实例的 InvocationHandler:调用处理程序,并返回结果的 代码演示 1.接口 package com.tian.demo原创 2021-08-26 15:32:39 · 141 阅读 · 0 评论 -
19-静态代理再理解
静态代理再理解 1.接口 package com.tian.demo02; public interface UserService { public void add(); public void delete(); public void update(); public void query(); } 2.UserServiceImpl package com.tian.demo02; public class UserServiceImpl implements Us原创 2021-08-26 15:31:53 · 91 阅读 · 0 评论 -
18-静态代理模式
静态代理模式 角色分析: 抽象角色:一般会使用接口或者接口类 真实角色:被代理的角色 代理角色:代理真实角色,代理真实角色后,我们一般会做一些附属操作 客户:访问代理对象的人 代码步骤 1.接口 package com.tian.demo01; public interface Rent { public void rent(); } 2.真实角色 package com.tian.demo01; public class Host implements Rent{ publi原创 2021-08-26 15:31:20 · 88 阅读 · 0 评论 -
17-Spring声明式事务
Spring声明式事务 开启事务(所有方法都绑定在一起,要么都执行,要么都不执行) 代码理解 第一步 User类 @Data @AllArgsConstructor @NoArgsConstructor public class User { private int id; private String name; private String pwd; } 第二步 UserMapper类 public interface UserMapper { public Li原创 2021-08-21 17:36:51 · 101 阅读 · 0 评论 -
16-spring整合mybatis 方式二
spring整合mybatis 方式二(了解) 在上一篇文章中扩展 添加一个UserMapperImpl2类 package com.kuang.mapper; import com.kuang.pojo.User; import org.apache.ibatis.session.SqlSession; import org.mybatis.spring.support.SqlSessionDaoSupport; import java.util.List; public class UserMap原创 2021-08-19 15:12:16 · 92 阅读 · 0 评论 -
15-spring整合mybatis方式一
spring整合mybatis 方式一【重要】 步骤: 1.导入相关jar包 junit mybatis mysql数据库 spring相关的 aop织入 mybatis-spring 【new】 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <ve原创 2021-08-17 17:28:14 · 120 阅读 · 0 评论 -
14-注解实现AOP
注解实现AOP <!-- 方式三 --> <bean id="annotation" class="com.kuang.diy.Annotation"/> <!-- 开启注解支持! --> <aop:aspectj-autoproxy/> 代码理解 第一步 package com.kuang.service; public interface UserService { public void add(); public原创 2021-08-16 14:33:01 · 112 阅读 · 0 评论 -
13-AOP实现方式二
AOP实现方式二 自定义来实现AOP 主要是切面定义 <!--方式二 自定义类来实现AOP--> <bean id="diy" class="com.kuang.diy.DiyPointCut"/> <aop:config> <!-- 自定义切面 ref要引用的类 --> <aop:aspect ref="diy"> <aop:pointcut id="point" e原创 2021-08-15 22:23:13 · 103 阅读 · 0 评论 -
12-AOP实现方式一
AOP实现方式一 横切关注点:跨越应用程序多个模块的方法或功能。即是,与我们业务逻辑无关的,但是我们需要关注的部分,就是横切关注点。如日志,安全,缓存,事务等等… 切面(ASPECT):横切关注点被模块化的特殊对象。即,它是一个类。 通知(Advice):切面必须要完成的工作。即,它是类中的一个方法。 目标(Target):被通知对象。 代理(Proxy) :向目标对象应用通知之后创建的对象。 切入点(PointCut) :切面通知执行的“地点""的定义。 连接点(JointPoint):与切入点匹配的执原创 2021-08-15 22:22:43 · 121 阅读 · 0 评论 -
11-使用JavaConfig实现配置
使用Java的方式配置Spring 重要!!!重要!!!重要!!! 代码演示 实体类 package com.tian.pojo; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.ComponentScan; import org.springframework.stereotype.Component; //加了@Component 更容易被原创 2021-08-14 23:29:16 · 127 阅读 · 0 评论 -
10-spring注解开发
spring注解开发 @Component //等价于 <bean id="user" class="com.tian.pojo.User"/> //@Component 组件 @Component public class User { public String name="张三"; } @Value @Component public class User { //@Value等价于 <property name="name" value="李四"/>原创 2021-08-13 16:10:44 · 104 阅读 · 0 评论 -
09-注解实现自动装配
注解实现自动装配 1.导入约束:context约束 xmlns:context="http://www.springframework.org/schema/context" 2.配置注解的支持 < context:annotation-config/>【重要】 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xml原创 2021-08-13 16:10:13 · 107 阅读 · 0 评论 -
08-自动装配Bean
自动装配Bean Bean的作用域 User user = context.getBean("user", User.class); User user2 = context.getBean("user", User.class); System.out.println(user==user2); Bean的作用域 scope=“singleton” (单例模式)(spring默认机制) (true) <bean id="user2" class="com.tian.原创 2021-08-12 14:45:36 · 118 阅读 · 0 评论 -
07-c命名和p命名
c命名和p命名 导入 xmlns:p="http://www.springframework.org/schema/p" xmlns:c="http://www.springframework.org/schema/c" 代码演示 package com.tian.pojo; public class User { private String name; private int age; //有参(c命名要用的)无参 set get toString } <?xml原创 2021-08-11 15:32:10 · 183 阅读 · 0 评论 -
06-DI依赖注入环境
DI依赖注入环境 控制反转loC(Inversion of Control),是一种设计思想,DI(依赖注入)是实现loC的一种方法,也有人认为DI只是loC的另一种说法。 构造器注入 前面已经说过了 Set方式注入【重点】 依赖注入:set注入! 依赖: bean对象的创建依赖于容器! 注入: bean对象中的所有属性,由容器来注入! 【环境搭建】 1.复杂类型 package com.tian.pojo; public class Address { private String原创 2021-08-11 15:22:12 · 139 阅读 · 0 评论 -
05-Spring配置
Spring配置 别名 <bean id="user" class="com.tian.pojo.User"> <constructor-arg name="name" value="赵六"/> </bean> <!-- 别名,如果添加了别名,我们也可以使用别名获取到这个对象--> <alias name="user" alias="abc"/> 测试 ApplicationContext co原创 2021-08-11 15:21:16 · 87 阅读 · 0 评论 -
04-IOC创建对象方式
IOC创建对象方式 1.使用无参构造创建对象,默认! 2.假设我们要使用有参构造创建对象。 下标赋值 <bean id="user" class="com.tian.pojo.User"> <constructor-arg index="0" value="张三"/> </bean> 类型(不建议) <!--第二种 通过类型创建 不建议使用--> <bean id="user" class="com.tian.p原创 2021-08-11 15:20:44 · 90 阅读 · 0 评论 -
03-HelloSpring
HelloSpring <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.0.RELEASE</version> </原创 2021-08-11 15:20:17 · 125 阅读 · 0 评论 -
02-IOC理论推导
IOC 控制反转loC(Inversion of Control),是一种设计思想,DI(依赖注入)是实现loC的一种方法,也有人认为DI只是loC的另一种说法。没有loC的程序中,我们使用面向对象编程,对象的创建与对象间的依赖关系完全硬编码在程序中,对象的创建由程序自己控制,控制反转后将对象的创建转移给第三方,个人认为所谓控制反转就是:获得依赖对象的方式反转了。 采用XML方式配置Bean的时候,Bean的定义信息是和实现分离的,而采用注解的方式可以把两者合为一体,Bean的定义信息直接以注解的形式定义在原创 2021-08-11 15:17:13 · 137 阅读 · 0 评论 -
01-spring简介
spring简介 简介 Spring:春天—>给软件行业带来了春天! 2002,首次推出了Spring框架的雏形: interface21框架! Spring框架即以interface21框架为基础,经过重新设计,并不断丰富其内涵,于2004年3月24日,发布了1.0正式版。 Rod Johnson ,Spring Framework创始人,著名作者。很难想象Rod Johnson的学历,真的让好多人大吃一惊,他是悉尼大学的博士。然而他的专业不是计算机,而是音乐学。 spring理念:使现有的技术更原创 2021-08-11 15:15:51 · 65 阅读 · 0 评论