天猫秘券网站怎么做,网站建设公司销售技巧,网页设计实训总结与展望150字,小广告文案作者#xff1a;爱塔居 专栏#xff1a;JavaEE 目录 一、Spring是什么#xff1f; 1.1 Spring框架的一些核心特点#xff1a; 二、IoC#xff08;控制反转#xff09;是什么#xff1f; 2.1 实现手段 2.2 依赖注入#xff08;DI#xff09;的实现原理 2.3 优点 三、AO… 作者爱塔居 专栏JavaEE 目录 一、Spring是什么 1.1 Spring框架的一些核心特点 二、IoC控制反转是什么 2.1 实现手段 2.2 依赖注入DI的实现原理 2.3 优点 三、AOP面向切面编程)是什么 3.1 AOP的组成 3.2 AOP实现技术有哪些 3.3 优点 四、Bean 4.1 Bean的生命周期 一、Spring是什么 Spring框架是一种用于构建企业级Java应用程序的开源框架。它提供了一种综合性的编程和配置模型用于开发灵活、可扩展、可维护的应用程序用一句话来概括springspring是包含了众多工具方法的Ioc容器。
1.1 Spring框架的一些核心特点
1.轻量级Spring框架采用了松耦合的设计原则仅依赖少量的第三方库开发人员根据选择使用Spring的特定功能无需引入整个框架。
2.控制反转Ioc通过Ioc容器开发人员可以将对象的创建、组装和生命周期管理交给Spring框架处理。
3.面向切面编程AOP可以通过AOP在应用程序中实现横切关注点的模块化。
4.声明式事务管理通过使用注解或者XML配置开发人员将事务管理逻辑和业务逻辑分离并且可以轻松在方法或类级别上应用事务。
5.框架整合Spring框架可以与许多其他开源框架和技术无缝集成使得开发人员可以使用Spring框架来整合和协调不同技术。
6.测试支持Spring框架提供了广泛的测试支持包括单元测试和集成测试。
二、IoC控制反转是什么
IoC是Spring框架的核心概念之一用于实现松耦合和可测试的应用程序。在传统的编程模式下对象之间的创建、组装和管理都是由开发人员手动完成的而在IoC模式中对象之间的依赖关系被反转了即由开发人员手动控制对象之间的依赖关系变为由容器自动注入依赖。
2.1 实现手段
Ioc容器提供以下两种方式来实现控制反转
1.依赖注入DI依赖注入通过将依赖关系注入到对象中实现了对象之间的解耦。容器负责查找依赖对象并将其自动注入到相应的对象中。依赖注入可以通过构造函数Setter方法或接口注入来完成。
2.依赖查找依赖查找通过容器提供的API开发人员手动查找和获取所需的依赖对象。开发人员在代码中通过容器提供的接口来获取所需的对象实例从而实现了对象之间的解耦。
二者区别依赖注入使将依赖关系委托给容器由容器来管理对象之间的依赖关系依赖查找使由对象自己来查找它所依赖的对象容器只负责管理对象的生命周期。
2.2 依赖注入DI的实现原理
DI是通过反射机制实现的。在Spring框架中当容器创建了一个对象时它会检测该对象的依赖关系并使用反射机制查找依赖对象然后容器将依赖对象注入到该对象中。
当使用Autowired注释时Spring容器会自动查找与该类型匹配的bean并将其注入到该字段中。如果有多个匹配的bean则可以使用Qualifier注释来指定要注入的bean的名称。当使用Value注释时Spring容器会将属性值注入到该字段中属性值可以从配置文件中读取也可以时硬编码的值。
2.3 优点
相比于传统的程序开发使用IoC的好处在于
1.降低了传统代码之间的耦合度使程序变得简单
2.可维护性号对象更易扩展和重用
3.Ioc容器管理对象简化开发难度节省开发时间
三、AOP面向切面编程)是什么
AOP是一种软件开发的编程范式用于将跨越多个模块的关注点从核心业务逻辑中分离出来使得横切关注点的定义和应用能够更加集中和重用。
3.1 AOP的组成
切面切面是横切关注点的模块化单元将通知和切点组合在一起描述了在何处、何时和如如何应用横切关注点。
切点用于定义哪些连接点被切面关注即切面要织入的具体位置
连接点在程序执行过程中某个特定点例如方法调用、异常抛出等
通知切面在特定切点上执行的代码包括在连接点之前、之后或周围执行的行为
织入将切面应用到目标对象中的工程中可以在编译时、加载时或运行时进行
3.2 AOP实现技术有哪些
常见实现技术有以下两种 1.静态代理静态代理是一种在编译时就已经确定代理关系的代理方式。在静态代理中代理类和被代理类都要实现同一个接口或继承同一个父类代理类中包含了被代理类的实例并在调用被代理类的方法前后执行相应的操作。静态代理的优点是实现简单易于理解和掌握但是它的缺点是需要为每个被代理类编写一个代理类当被代理类的数量增多时代码量会变得很大。 2.动态代理动态代理是一种在运行时动态生成代理类的代理方式。在动态代理中代理类不需要实现同一个接口或继承同一个父类而是通过 Java 反射机制动态生成代理类并在调用被代理类的方法前后执行相应的操作。动态代理的优点是可以为多个被代理类生成同一个代理类从而减少了代码量但是它的缺点是实现相对复杂需要了解 Java 反射机制和动态生成字节码的技术。 3.3 优点
1.将横切关注点从应用程序的核心业务逻辑中分离出来便于更好地实现模块化和复用
2.可以将通用的概念如日志记录、性能统计、事务管理封装成切面如何在需要的地方进行重用从而提高代码的可维护性和可重用性
四、Bean
在Spring中Bean是指被Spring容器管理的对象。
4.1 Bean的生命周期
在Spring中Bean的生命周期指的是Bean实例从创建到销毁的整个过程。
Bean的生命周期可以分为以下几个阶段
1.实例化
在Spring容器启动时会根据配置文件或注解等方式创建Bean的实例也就是说实例化就是为了Bean对象分配内存空间。根据Bean的作用域不同实例化的方式也不同
2.属性赋值
在Bean实例化后Spring容器会自动将配置文件或注解中的属性值注入到Bean中。属性注入可以通过构造函数注入、Setter方法注入、注解注入等方式实现。
3.初始化
在属性注入完成后Spring容器会调用Bean的初始化方法。在初始化方法中可以进行一些初始化操作例如建立数据库、加载配置文件等
4.使用
在Bean初始化完成后Bean就可以被应用程序使用了。在应用程序中可以通过Spring容器获取Bean的实例并调动Bean的方法。
5.销毁
在应用程序关闭时Spring容器会自动销毁所有的Bean实例。在销毁方法中可以进行一些清理操作例如释放资源、关闭数据库连接等。
五、Spring中使用了哪些设计模式
1.工厂模式
工厂模式是一种创建型设计模式提供了一种创建对象的方式使得应用程序可以更加灵活和可维护。
2.单例模式
单例模式是一种创建型设计模式保证一个类只有一个实例并提供了一个全局访问点。在Spring中Bean默认是单例的这意味着每个Bean只会被创建一次并且可以在整个应用程序中共享。
3.代理模式
代理模式是一种结构性设计模式允许开发人员在不修改原有代码的情况下向应用程序中添加新的功能
4.观察者模式
观察者模式是一种行为型设计模式定义了一种一对多的依赖关系使得当一个对象的状态发生改变时所有依赖于它的对象都会得到通知并自动更新。
5.模板方法模式
模板方法模式时一种行为型设计模式定义了一个算法的骨架将一些步骤延迟道子类中实现。
6.设配器模式
适配器模式是一种结构性设计模式允许开发人员将一个类的接口转换成另一个类的接口以满足客户端的需求。
7.策略模式
策略模式是一种行为型设计模式定义了一系列算法并将每个算法封装起来使得它们可以互相替换。