spring
可爱de艺艺
这个作者很懒,什么都没留下…
展开
-
spring @Service和@Autowired的使用
在一个类上面标注@Service或者@Controller或@Component或@Repository注解后,容器启动时,Spring组件扫描时就会发现它,并且会直接将其创建好变成Spring应用上下文中bean。@Autowired 注解属于 org.springframework.beans.factory. annotation 包,可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。在需要使用时通过@Autowired注解把容器创建好的bean从容器获取过来赋予给使用类的成员属性。原创 2023-05-05 10:50:42 · 232 阅读 · 0 评论 -
spring杂谈
在spring核心配置文件中引入其他的spring配置文件。spring是用的双重判断加锁的单例模式。spring中额八大模式。原创 2023-04-23 10:33:14 · 49 阅读 · 0 评论 -
spring 继承mybatis
创建一个模块,引入spring-context,spring-jdbc,mysql驱动,mybatis-spring,德鲁伊连接池。原创 2023-04-21 09:22:25 · 86 阅读 · 0 评论 -
spring对事务的支持
其中的属性:Propagation,事务的传播行为,a()方法上有事务,b()方法上也有事务,当a()方法执行过程中调用了b()方法。可以使用注解@Transactional。原创 2023-04-20 11:12:46 · 57 阅读 · 0 评论 -
面向切面编程AOP
即为把业务无关的功能模块提取出来,如日志模块,安全模块,事务模块。原创 2023-04-19 15:56:13 · 192 阅读 · 0 评论 -
GoF代理模式
如果使用代理模式的话,对于客户端程序来说,客户端是无法察觉到的,客户端在使用代理对象的时候就像在使用目标对象。第三个角色:目标对象和代理对象的公共接口(演员和替身演员应该具有相同的行为动作)2.需要给某个对象的功能进行功能增强的时候,可以考虑找一个代理进行增强。1.一个对象需要受到保护的时候,可以考虑使用代理对象取完成某个行为.3.A对象无法和B对象无法直接沟通,也可以使用代理模式解决。第二个角色:代理对象(替身演员)第一个角色:目标对象(演员)原创 2023-04-19 11:06:30 · 373 阅读 · 0 评论 -
spring 循环依赖问题
在prototype+setter模式下的循环依赖存在问题。第一个阶段:在Spring容器加载的时候,实例化bean,只要任意一个bean实例化之后,马上进行曝光。当一个为prototype,一个为singleton时,不会出现异常。只有scope的值是单例的情况下,bean才会采取提前曝光的措施。核心解决方案是:实例化对象和对象属性的赋值分为两个阶段来完成。第二个阶段:bean曝光之后,再进行属性的赋值。当使用构造方法注入时,没有办法解决循环依赖。单例和setter模式下支持循环依赖。原创 2023-04-18 15:11:50 · 50 阅读 · 0 评论 -
Spring set注入专题
在实际开发中,将Date类型视作简单数据类型麻烦,常用ref而不是value。简单数据类型,来自BeanUtils,包含8种基本数据类型,8种包装类等。注意,property中不能使用ref,要使用value。Temporal是java8之后的新特性,表示时区,时间等。原创 2023-04-14 15:59:38 · 181 阅读 · 0 评论 -
Spring IoC注解开发
首先需要加入aop依赖,如果你事先加入spring-context依赖,则会关联加入aop依赖。getBean中传入注解的value值,如果在这四个当中不填value值,默认类名首字母变小写。其实他们四个本质都一样,只不过另外三个是Component的别名,在不同层使用容易区分。第二步,配置xml文件,修改命名空间。修改beans变成context。@Controller 控制器。@Repository 仓库。第三步,指定要扫描哪些包中的类。@Component 组件。@Service 业务。原创 2023-04-18 15:59:14 · 443 阅读 · 0 评论 -
Spring bean的生命周期
spring容器只对singleton的Bean进行完整的生命周期管理,如果是prototype作用域的bean,spring容器只负责该Bean的初始化完毕,等客户端一旦获取到该Bean之后,spring就不再管理该对象的生命周期了,只到使用那一步。生命周期七步:在初始化Bean之前加了一个执行Bean后处理器的before方法,在初始化Bean之后加了一个执行Bean后处理器的after方法。第五步:销毁bean(会调用Bean的destory方法,注意,这个destory方法需要自己写,自己配)原创 2023-04-18 11:04:38 · 338 阅读 · 0 评论 -
spring bean的实例化方式
表示调用这个类的get方法进行实例化。第二种通过简单工厂模式实例化。原创 2023-04-17 17:11:29 · 44 阅读 · 0 评论 -
工厂模式概述
3.工厂模式的优点,当你扩展一个产品的时候,符合OCP原则,添加时只需新增具体产品类合具体工厂类。2.简单工厂模式解决的问题:客户端不需要关心产品的生产细节,客户端只负责消费,工厂类负责生产。1.工厂方法模式可以解决简单工厂模式中的OCP问题,一个工厂对应生产一种产品。1.简单工厂模式是工厂模式的一种特殊实现,又被称为静态工厂方法模式。3.简单工厂模式中的角色:抽象产品角色,具体产品角色,工厂类角色。2.工厂方法模式中的角色:抽象产品,具体产品,抽象工厂,具体工厂。工厂方法模式,是23种设计模式之一。原创 2023-04-17 16:53:42 · 319 阅读 · 0 评论 -
spring:bean的作用域
默认情况下bean是单例的,在多线程种也是单例的,在Spring上下文初始化的时候实例化,每一次调用getBean()方法的时候,都返回那个单例的对象。可以设置为多例的,这种方式在初始化spring容器时不会new对象,每一次调用getBean()方法的时候,实例化该bean对象。这样就可以自定义scope。原创 2023-04-17 15:56:57 · 48 阅读 · 0 评论 -
spring 依赖注入
index="0"表示第一个参数,index="1"表示第二个参数,同样ref为注入bean的id。注意,property需要方法名,去掉set,首字母变小写,ref为要注入的bean的id。可以直接使用set的构造方法,若自定义构造方法名,则需要再xml中配置。也可以只写ref,spring自动根据类型判断。set注入,创建对象之后再注入。构造注入,创建对象时注入。也可以采用name的方式。原创 2023-04-14 15:21:12 · 56 阅读 · 0 评论 -
spring初始项目创建
ApplicationContext接口的超级父类接口是:BeanFactory,BeanFactory是IoC容器的顶级接口,Spring的IoC容器实际上使用了工厂模式,IoC的实现方式为xml解析+工厂模式+反射机制。在resources目录下创建spring的xml文件,在xml文件里创建bean标签。这里的spring-context依赖只是基础的spring框架的依赖。第二步:根据bean的id从spring容器中获取这个对象。1.spring的bean的id不能重复。原创 2023-04-14 10:05:19 · 443 阅读 · 0 评论 -
spring 概述
OCP核心原则为:只要你在扩展系统功能的时候,没有修改过以前写好的代码,就负责OCP原则,反之,如果在扩展系统功能的时候,修改了,则这个设计是失败的。Spring框架实现了IoC这种思想,可以帮助new对象,维护对象和对象之间的关系,Spring是一个实现了IoC思想的容器。2.不在程序中采用硬编码的方式来维护对象的关系了(对象之间的维护权也不管了)依赖是A对象和B对象的关系,注入是通过这种手段,可以让A对象和B对象产生关系。1.不在程序中采用硬编码的方式来new对象(new 对象我不管了)原创 2023-04-13 17:11:51 · 408 阅读 · 0 评论