spring学习笔记

1.spring概念:spring是一个全栈式的轻量级框架,提供了展现springmvc,业务层,持久层的技术,同时能够整合世界上其它优秀框架和第三方类库。

2.spring优点:(1)使程序易于测试(2)降低程序间的耦合(3)提供AOP支持,能够实现OOP不能够轻易实现的功能,AOP能够轻易实现(4)提供声明式事务支持,即通过配置来实现事务控制(5)能够整合其它优秀框架。

3.程序间的依赖有两种:(1)类与类之间的依赖(2)方法与方法之间的依赖。

4.解耦:实际开发中应该做到编译期不依赖,运行期才依赖。通过工厂模式可以解耦。

5.Bean:有可重用组件的意思,JavaBean就是指通过java语言编写的可重用组件,像编写的service,dao都可以称为可重用组件。平时学习中很容易把实体类误以为就是javabean,其实不然,javabean的范围要比实体类大。

6.IOC(反转控制)概念:把创建对象的权利交给框架实现,是框架的重要特性,并非是面向对象的专业术语,它还包括依赖注入和依赖查找,IOC核心容器其实就是一个map集合,里面封装有要用到的对象。

7.用于创建容器的ApplicationContext接口有3个重要实现类:(1)ClassPathXmlApplicationContext,用于加载类路径下的配置文件(2)FileSystemXmlApplicationContext,用于加载磁盘下的配置文件,但需要访问权限(3)AnnotationConfigApplicationContext,用于读取注解创建容器。

8.ApplicationContext接口和Beanfactory接口区别:(1)ApplicationContext创建对象时采用的是立即加载方式,适用于单例对象(2)Beanfactory创建对象时使用的是延迟加载的方式,适用于多例对象。

9.bean对象的创建方式一共有3种:(1)通过构造器创建(2)通过工厂的普通方法(3)通过工厂的静态方法

10.bean的作用范围:(1)singleton:用于单例,默认该配置(2)prototype:用于多例(3)request:用于web应用的请求范围(4)session:用于web应用的会话范围(5)global-session:用于集群环境的会话范围,当不是集群环境时,就当成session即可。

11.容器对象是怎么生成的:当我们通过ClassPathXmlApplicationContext读取bean.xml文件时,容器对象就创建了(也可以通过其它两种方式实现创建对象容器)。

12.bean的生命周期:(1)单例:当容器创建时bean对象也跟着创建了,只要容器在,对象就一直在,当容器销毁则对象消亡(2)多例:当我们要使用到对象时,spring框架才会为我们创建对象,对象只要在使用,就一直存活着,当不使用时,则等待垃圾回收器来进行回收。

13.依赖注入(Dependency Injection)概念:IOC只能是降低程序间的依赖,但不能消除依赖,把依赖关系的管理交给spring管理,当一个类需要用到某一个类的对象时,由spring框架为我们提供即可,这种依赖关系的维护称为依赖注入。

14.依赖注入的类型:(1)基本类型,String(2)其它bean类型(3)复杂类型,集合类型。

15.依赖注入的方式:(1)构造方法(2)set方法(3)使用注解。

16.构造方法注入的优缺点:(1)优点:在获取对象时,注入数据是必须的,否则无法成创建对象(2)缺点:改变了bean实例化对象的方式,当我们创建对象时,某些数据用不到也必须得注入。

17.set方法注入的优缺点:(1)优点:创建对象没有明确的限制,可以直接使用默认构造方法(2)缺点:如果某个对象必须有值,获取对象时有可能set方法没有执行。

18.关于注解注入的一些注意事项:@Autowired@Qulifier@Resource这三个注解只能用于注入其它bean类型,而基本类型,String类型只能用@Value注解才能实现注入,集合类型则不能通过注解来注入,得通过xml配置文件才能实现注入。

19.AOP(面向切面编程)概念:通过编译期和运行期的动态代理来实现对程序功能的维护,使程序各部分得到隔离,降低了依赖,增强了代码的可重用性,提高了开发效率。

20.AOP作用及优势:程序运行期不修改代码的情况下来对方法进行增强,降低程序间耦合,提高开发效率,方便维护。

21.AOP相关术语:(1)JoinPoint(连接点):简单理解为业务层的方法(2)PointCut(切入点):指我们要对哪些JoinPoint方法进行增强,没有增强的方法就不是切入点,仅仅是连接点(3)Advice(通知/增强):所谓通知就是指拦截到JoinPoint之后要做的事情就是通知,类型有,前置通知,后置通知,异常通知,最终通知,环绕通知(环绕通知中有明确的切入点调用方法)(4)Introduction(引介):一种特殊的通知,在不修改代码的前提下,它可以在运行期对类动态添加一些方法(5)Target(目标对象):被代理对象(6)Weaving(织入):把增强应用到目标对象来生成新的代理对象的过程(7)Proxy(代理):一个类被AOP织入增强后,产生的一个结果代理类(8)Aspect(切面):通知和切入点的结合。

Spring是一个开源的Java框架,用于构建企业级应用程序。它提供了一种轻量级的、非侵入的开发方,通过依赖注入和面向切面编程等特性,简化了Java应用程序的开发过程。 以下是关于Spring学习的一些笔记: 1. IoC(控制反转):Spring通过IoC容器管理对象的创建和依赖关系的注入。通过配置文件或注解,将对象的创建和依赖关系的维护交给Spring容器来管理,降低了组件之间的耦合度。 2. DI(依赖注入):Spring通过依赖注入将对象之间的依赖关系解耦。通过构造函数、Setter方法或注解,将依赖的对象注入到目标对象中,使得对象之间的关系更加灵活和可维护。 3. AOP(面向切面编程):Spring提供了AOP的支持,可以将与业务逻辑无关的横切关注点(如日志、事务管理等)从业务逻辑中分离出来,提高了代码的可重用性和可维护性。 4. MVC(模型-视图-控制器):Spring提供了一个MVC框架,用于构建Web应用程序。通过DispatcherServlet、Controller、ViewResolver等组件,实现了请求的分发和处理,将业务逻辑和视图展示进行了分离。 5. JDBC和ORM支持:Spring提供了对JDBC和ORM框架(如Hibernate、MyBatis)的集成支持,简化了数据库访问的操作,提高了开发效率。 6. 事务管理:Spring提供了对事务的支持,通过声明事务管理和编程事务管理,实现了对数据库事务的控制和管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值