spring的使用与介绍
1.什么是spring
spring是一个轻量级框架,一站式,非侵入式的框架
2.spring的优点
-
AVA EE应该更加容易使用。
-
面向对象的设计比任何实现技术(比如JAVA EE)都重要。
-
面向接口编程,而不是针对类编程。Spring将使用接口的复杂度降低到零。(面向接口编程有哪些复杂度?)
-
代码应该易于测试。Spring框架会帮助你,使代码的测试更加简单。
-
JavaBean提供了应用程序配置的最好方法。
-
在Java中,已检查异常(Checked exception)被过度使用。框架不应该迫使你捕获不能恢复的异常
3.spring核心xml文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="..." class="..."> <!-- collaborators and configuration for this bean go here --> </bean> <bean id="..." class="..."> <!-- collaborators and configuration for this bean go here --> </bean> <!-- more bean definitions go here --> </beans>
4.spring IOC
4.1什么是IOC
控制反转模式(也称作依赖性注入)的基本概念是:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器 (在 Spring 框架中是 IOC 容器) 负责将这些联系在一起。在典型的 IOC 场景中,容器创建了所有对象,并设置必要的属性将它们连接在一起,决定什么时间调用方法。下表列出了 IOC 的一个实现模式。
4.2IOC核心配置xml文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="..." class="...">
<!-- collaborators and configuration for this bean go here -->
</bean>
<bean id="..." class="...">
<!-- collaborators and configuration for this bean go here -->
</bean>
<!-- more bean definitions go here -->
</beans>
5.spring AOP
5.1什么是AOP
Spring在它的AOP模块中提供了对面向切面编程的丰富支持。这个模块是在Spring应用中实现切面编程的基础。为了确保Spring与其它AOP框架的互用性,Spring的AOP支持基于AOP联盟定义的API。AOP联盟是一个开源项目,它的目标是通过定义一组共同的接口和组件来促进AOP的使用以及不同的AOP实现之间的互用性。通过访问他们的站点,你可以找到关于AOP联盟的更多内容。Spring的AOP模块也将元数据编程引入了Spring。使用Spring的元数据支持,你可以为你的源代码增加注释,指示Spring在何处以及如何应用切面函数。
5.2AOP的概念
-
切面(Aspect):一个模块化的横切逻辑,可能会横切多个对象
-
连接点(Join Point):程序执行中的某个具体的执行点
-
增强处理(Advice):切面在某个特定连接点上执行的代码逻辑
-
切入点(Pointcut):对连接点的特征进行描述,可以使用正则表达式。增强处理和一个切入点表达式相关联,并在与这个切入点匹配的某个连接点上运行
-
目标对象(Target object):被一个或多个切面增强的对象
-
AOP代理(AOP proxy);由AOP框架所创建的对象,实现执行增强处理方法等功能
-
织入(Weaving):将增强处理连接到应用程序中的类型或对象上的过程
6.注解
@Repository:用于标注DAO类
@Service:用于标注业务类
@Controller:用于标注控制器类