![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring框架篇
文章平均质量分 72
记录自己学习Spring的一些过程及心得
木..木
那场大雨毁了我的Java梦
展开
-
数据源作用以及spring配置数据源
数据源作用以及spring配置数据源原创 2023-10-09 22:17:12 · 939 阅读 · 0 评论 -
@Value,@Autowired,@Qualifier
单独使用@Autowired注解,默认根据类型装配。【默认是byType】原创 2023-09-06 20:41:20 · 76 阅读 · 0 评论 -
spring注解@Component、@controller、@service、@repository
使用之前需要在spring.xml配置文件中配置只有扫描正确,且应标记注解的类正确标记过后,spring容器才会帮组我们创建并且管理bean对象。原创 2023-09-06 20:32:48 · 229 阅读 · 0 评论 -
解决报错之Error creating bean with name ‘org.mybatis.spring.SqlSessionFactoryBean#0‘: Lookup method resol
maven导入的依赖版本过低,不支持,mybatis-spring应该是3.x版本及以上才行。原创 2023-08-18 14:58:58 · 1201 阅读 · 0 评论 -
Spring中的八大模式
(概述,后期进行详解)原创 2023-08-18 14:51:31 · 63 阅读 · 0 评论 -
Spring对事务的支持
● 什么是事务○ 在一个业务流程当中,通常需要多条DML(insert delete update)语句共同联合才能完成,这多条DML语句必须同时成功,或者同时失败,这样才能保证数据的安全。○ 多条DML要么同时成功,要么同时失败,这叫做事务。○ 事务:Transaction(tx)● 事务的四个处理过程:○ 第一步:开启事务 (start transaction)○ 第二步:执行核心业务代码。原创 2023-08-18 14:46:41 · 35 阅读 · 0 评论 -
spring框架的底层原理面向切面编程AOP
IoC使软件组件松耦合。AOP让你能够捕捉系统中经常使用的功能,把它转化成组件。AOP(Aspect Oriented Programming):面向切面编程,面向方面编程。(AOP是一种编程技术)AOP是对OOP的补充延伸。AOP底层使用的就是动态代理来实现的。Spring的AOP使用的动态代理是:JDK动态代理 + CGLIB动态代理技术。Spring在这两种动态代理中灵活切换,如果是代理接口,会默认使用JDK动态代理,如果要代理某个类,这个类没有实现接口,就会切换使用CGLIB。原创 2023-08-18 14:42:36 · 113 阅读 · 1 评论 -
GoF之代理模式(动态代理)
它既可以代理接口,又可以代理类,底层是通过继承的方式实现的。显然这是一个回调接口,也就是说调用这个接口中方法的程序已经写好了,就差这个接口的实现类了。我们在静态代理的时候,除了以上一个接口和一个实现类之外,是不是要写一个代理类UserServiceProxy呀!主要是通过这个类在内存中生成代理类的字节码。在程序运行阶段,在内存中动态生成代理类,被称为动态代理,目的是为了减少代理类的数 量。代理类和目标类实现相同的接口,所以要通过这个参数告诉JDK动态代理生成的类要实现哪些接口。原创 2023-08-18 14:38:50 · 140 阅读 · 1 评论 -
解决报错之org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named ‘1‘ available
第三种可能是:web.xml中没有添加applicationContext.xml配置。第四种:我自己犯了简单错误,解析sprin.xml文件的时候名字错了,导致压根解析不到。第一种可能是忘记加注解了(这里我加了的)@Repository。不加注解spring容器会无法识别出这个bean,并且无法管理。在学习spring框架中,注解式开发当中遇到的问题报错。第二种可能是getBean里面的bean id写错了。这里我StudentService的id没有写错。希望大家在以后的工作学习种少犯一些低级错误。原创 2023-08-15 18:14:55 · 475 阅读 · 1 评论 -
GoF之代理模式(静态代理)
代理模式中有一个非常重要的特点:对于客户端程序来说,使用代理对象时就像在使用目标对象一样。业务场景:系统中有A、B、C三个模块,使用这些模块的前提是需要用户登录,也就是说在A模块中要编写判断登录的代码,B模块中也要编写,C模块中还要编写,这些判断登录的代码反复出现,显然代码没有得到复用,可以为A、B、C三个模块提供一个代理,在代理当中写一次登录判断即可。● 代理类和目标类的公共接口(抽象主题):客户端在使用代理类时就像在使用目标类,不被客户端所察觉,所以代理类和目标类要有共同的行为,也就是实现共同的接口。原创 2023-08-15 18:02:52 · 90 阅读 · 1 评论 -
GoF之工厂模式(工厂方法模式)
● 每次增加一个产品时,都需要增加一个具体类和对象实现工厂,使得系统中类的个数成倍增加,在一定程度上增加了系统的复杂度,同时也增加了系统具体类的依赖。● 客户端程序不需要关心对象的创建细节,需要哪个对象时,只需要向工厂索要即可,初步实现了责任的分离。● 缺点1:工厂类集中了所有产品的创造逻辑,形成一个无所不知的全能类,有人把它叫做上帝类。工厂方法模式既保留了简单工厂模式的优点,同时又解决了简单工厂模式的缺点。● 屏蔽产品的具体实现,调用者只关心产品的接口。前文的简单工厂模式存在的优缺点。原创 2023-08-12 11:57:30 · 37 阅读 · 1 评论 -
GoF之工厂模式(简单工厂模式)
● 第一种:简单工厂模式(Simple Factory):不属于23种设计模式之一。简单工厂模式又叫做:静态 工厂方法模式。● 工厂模式是解决对象创建问题的,所以工厂模式属于创建型设计模式。● 不过除了GoF23种设计模式之外,还有其它的设计模式,比如:JavaEE的设计模式(DAO模式、MVC模式等)。● 第三种:抽象工厂模式(Abstract Factory):是23种设计模式之一。● 第二种:工厂方法模式(Factory Method):是23种设计模式之一。○ 创建型(5个):解决对象创建问题。原创 2023-08-12 11:46:35 · 53 阅读 · 1 评论 -
Spring启示录及其概述
控制反转:Ioc (Inversion of Control)反转是什么呢?反转的是两件事:第一件事:我不在程序中采用硬编码的方式来new对象了。(new对象我不管了,new对象的权利交出去了。第二件事:我不在程序中采用硬编码的方式来维护对象的关系了。(对象之间关系的维护权,我也不管了,交出去了。控制反转:是一种编程思想。或者叫做一种新型的设计模式。由于出现的比较新,没有被纳入GoF23种设计模式范围内。Spring Core模块。原创 2023-08-10 13:43:06 · 48 阅读 · 1 评论