
spring
文章平均质量分 50
xixihaha_coder
坚持就是胜利!
展开
-
20-动态代理详解
动态代理详解动态代理和静态代理角色一样动态代理的代理类是动态生成的,不是我们直接写好的!动态代理分为两大类:基于接口的动态代理,基于类的动态代理基于接口—JDK动态代理【我们在这里使用】基于类:cglibjava字节码实现: javasist需要了解两个类:Proxy:代理,InvocationHandler:调用处理程序Proxy:生成动态代理这个实例的InvocationHandler:调用处理程序,并返回结果的代码演示1.接口package com.tian.demo原创 2021-08-26 15:32:39 · 137 阅读 · 0 评论 -
19-静态代理再理解
静态代理再理解1.接口package com.tian.demo02;public interface UserService { public void add(); public void delete(); public void update(); public void query();}2.UserServiceImplpackage com.tian.demo02;public class UserServiceImpl implements Us原创 2021-08-26 15:31:53 · 86 阅读 · 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 · 87 阅读 · 0 评论 -
17-Spring声明式事务
Spring声明式事务开启事务(所有方法都绑定在一起,要么都执行,要么都不执行)代码理解第一步 User类@Data@AllArgsConstructor@NoArgsConstructorpublic class User { private int id; private String name; private String pwd;}第二步 UserMapper类public interface UserMapper { public Li原创 2021-08-21 17:36:51 · 100 阅读 · 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 · 90 阅读 · 0 评论 -
15-spring整合mybatis方式一
spring整合mybatis 方式一【重要】步骤:1.导入相关jar包junitmybatismysql数据库spring相关的aop织入mybatis-spring 【new】<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <ve原创 2021-08-17 17:28:14 · 118 阅读 · 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 · 108 阅读 · 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 · 100 阅读 · 0 评论 -
12-AOP实现方式一
AOP实现方式一横切关注点:跨越应用程序多个模块的方法或功能。即是,与我们业务逻辑无关的,但是我们需要关注的部分,就是横切关注点。如日志,安全,缓存,事务等等…切面(ASPECT):横切关注点被模块化的特殊对象。即,它是一个类。通知(Advice):切面必须要完成的工作。即,它是类中的一个方法。目标(Target):被通知对象。代理(Proxy) :向目标对象应用通知之后创建的对象。切入点(PointCut) :切面通知执行的“地点""的定义。连接点(JointPoint):与切入点匹配的执原创 2021-08-15 22:22:43 · 120 阅读 · 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 · 125 阅读 · 0 评论 -
10-spring注解开发
spring注解开发@Component//等价于 <bean id="user" class="com.tian.pojo.User"/>//@Component 组件@Componentpublic class User { public String name="张三";}@Value@Componentpublic class User { //@Value等价于 <property name="name" value="李四"/>原创 2021-08-13 16:10:44 · 102 阅读 · 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 · 105 阅读 · 0 评论 -
08-自动装配Bean
自动装配BeanBean的作用域 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 · 111 阅读 · 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 · 182 阅读 · 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 · 136 阅读 · 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 · 83 阅读 · 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 · 88 阅读 · 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 · 123 阅读 · 0 评论 -
02-IOC理论推导
IOC控制反转loC(Inversion of Control),是一种设计思想,DI(依赖注入)是实现loC的一种方法,也有人认为DI只是loC的另一种说法。没有loC的程序中,我们使用面向对象编程,对象的创建与对象间的依赖关系完全硬编码在程序中,对象的创建由程序自己控制,控制反转后将对象的创建转移给第三方,个人认为所谓控制反转就是:获得依赖对象的方式反转了。采用XML方式配置Bean的时候,Bean的定义信息是和实现分离的,而采用注解的方式可以把两者合为一体,Bean的定义信息直接以注解的形式定义在原创 2021-08-11 15:17:13 · 133 阅读 · 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 · 62 阅读 · 0 评论