10.IoC和DI概念理解? IOC(Inverse of Control控制反转):从字面上理解就是控制反转了,将对在自身对象中的一个内置对象的控制反转,反转后不再由自己本身的对象进行控制这个内置对象的创建,而是由第三方系统去控制这个内置对象的创建。 DI(Dependency Injection依赖注入):意思自身对象中的内置对象是通过注入的方式进行创建。 11.Spring AOP的五个通知类型是什么?环绕通知的工作原理? 答:Before、After-returning、After-throwing、Around、Introduction; ### jsp编程技术复习题知识点解析 #### 一、IoC和DI概念理解 - **IoC (Inverse of Control 控制反转)**:控制反转的概念强调的是控制权的转移。传统程序设计中,对象在其生命周期内负责创建和管理其依赖对象。而在采用IoC容器的情况下,对象的创建和依赖关系管理被转移到外部容器中。这样做的好处是可以减少对象间的耦合度,使得对象更加专注于其核心功能。在Spring框架中,IoC容器负责实例化、配置和组装对象及其依赖关系。 - **DI (Dependency Injection 依赖注入)**:依赖注入是一种设计模式,它提倡将对象所依赖的其他对象(即依赖)通过构造函数、setter方法或接口注入进来,而不是在对象内部自行创建这些依赖。这种方式同样有助于降低对象间的耦合度,并提高代码的可测试性。在Spring框架中,依赖注入是通过IoC容器实现的,开发者可以通过配置文件或者注解的方式指定哪些依赖应该被注入到对象中。 #### 二、Spring AOP的五个通知类型 - **Before**:在目标方法执行前执行的通知。它可以用于日志记录、性能监控等场景。 - **After-returning**:在目标方法成功执行后执行的通知。可以用来处理返回值或者进行资源释放等操作。 - **After-throwing**:在目标方法抛出异常后执行的通知。可以用来记录异常信息或者进行异常处理。 - **Around**:环绕通知,在目标方法执行前后都可以执行的通知。这是最强大的通知类型,可以完全控制方法的执行流程,包括决定是否继续执行目标方法、是否返回特定结果或者抛出异常等。 - **Introduction**:介绍通知,允许在不修改类代码的情况下为类添加新的方法或字段。通过这种方式,可以在运行时动态地增强类的功能。 #### 三、其他知识点解析 - **Hibernate的核心技术**:Hibernate的核心技术是ORM (Object-Relational Mapping),即对象关系映射,它提供了一种机制将应用中的Java对象自动持久化到数据库中。通过这种映射,开发人员无需编写SQL语句就可以完成对象与数据库表之间的转换。 - **Spring的主要技术**:Spring框架的核心技术包括IoC和AOP。IoC提供了一个控制反转的容器,用于管理对象的生命周期和依赖关系。AOP则提供了面向切面编程的能力,用于实现诸如日志记录、安全性控制等功能。 - **Struts框架配置**:Struts框架需要配置`struts.xml`文件以及`web.xml`文件。`struts.xml`用于配置应用程序的行为和组件,而`web.xml`是Web应用程序级别的配置文件,用于配置如过滤器、监听器等。 - **EL表达式的用法**:EL (Expression Language) 是一种简单的脚本语言,用于在JSP页面中访问JavaBean对象。正确的EL语法是使用`${...}`这样的形式来访问对象的属性。例如,`$(sessionScope.user.sex)`应该是`${sessionScope.user.sex}`。 - **Struts Action类**:用户自定义的Action类通常继承自`ActionSupport`类。`execute()`方法是Action类默认调用的方法。 - **Struts标签库**:要使用Struts标签库,需要在JSP文件中定义`<%@ taglib prefix="s" uri="/struts-tags" %>`这样的指令。 - **Hibernate的事务管理**:`Transaction`接口中的`commit()`方法用于提交一个数据库操作。 - **Spring JDBC支持**:Spring提供了`JdbcTemplate`类来支持数据库的添加、修改和删除操作。 - **Hibernate持久化对象的状态**:当执行`clear()`方法时,Hibernate持久化对象会进入临时状态。 - **Hibernate与SQL**:虽然使用Hibernate可以减少直接编写SQL的需求,但是仍然需要编写一些特定情况下的SQL语句。 - **Action类访问Servlet API**:通过实现`ServletActionContext`接口,Action类可以在Struts框架中间接访问Servlet API。 - **Java反射机制**:Spring框架的IoC容器使用了大量的Java反射机制,这包括`Class`、`Field`、`Method`和`Constructor`等类,以实现在运行时创建新类、调用方法等功能。 - **EL表达式与OGNL的区别**:EL表达式可以直接访问Servlet对象,而OGNL则常与Struts2的标签一起使用,能够访问复杂的对象结构。 - **Hibernate的特性**:Hibernate是一种ORM实现方式,它支持通过`hbm.xml`文件来配置对象与数据库表之间的映射关系。 - **Spring的配置文件**:`applicationContext.xml`是Spring框架的主要配置文件之一,用于配置Bean的定义和其他高级特性。 - **Struts配置文件**:`struts.xml`配置文件可以配置Action、拦截器等内容,但不能配置过滤器。 - **Action接口中的常量**:`SUCCESS`和`ERROR`是Action接口中定义的字符串常量,用于表示Action执行的结果状态。 通过以上解析,我们可以更深入地理解JSP编程技术相关的知识点,特别是在JavaEE领域的关键技术框架Spring、Hibernate和Struts等方面。这些技术对于构建企业级Java Web应用至关重要。
剩余8页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于 Ant 的 Java 项目示例.zip
- 各种字符串相似度和距离算法的实现Levenshtein、Jaro-winkler、n-Gram、Q-Gram、Jaccard index、最长公共子序列编辑距离、余弦相似度…….zip
- 运用python生成的跳跃的爱心
- 包括用 Java 编写的程序 欢迎您在此做出贡献!.zip
- (源码)基于QT框架的学生管理系统.zip
- 功能齐全的 Java Socket.IO 客户端库,兼容 Socket.IO v1.0 及更高版本 .zip
- 功能性 javascript 研讨会 无需任何库(即无需下划线),只需 ES5 .zip
- 分享Java相关的东西 - Java安全漫谈笔记相关内容.zip
- 具有适合 Java 应用程序的顺序定义的 Cloud Native Buildpack.zip
- 网络建设运维资料库职业