JavaEE期末考试整理

一、简述spring框架的优点

  1.  非侵入式设计;
  2. 降低耦合性,方便开发
  3. 支持AOP编程
  4. 支持声明式事务
  5. 方便程序的测试
  6. 方便继承各种优秀框架
  7. 降低Java EE  API 的使用难度

二、简述控制反转和依赖注入的概念

  • 控制反转(IoC)是面向对象编程中的一个设计原则,用于降低程序代码之间的耦合度。使用spring框架后,对象的实例不再由调用者来创建,而是由Spring的IoC容器来创建,IoC容器会负责控制程序之间的关系,而不是由调用者的程序代码直接控制。
  • 依赖注入(DI)是指IoC容器在运行期间动态的将某种依赖资源注入到对象中。例如,将对象B注入(赋值)给对象A的成员变量。依赖注入的基本思想是,明确地定义组件接口,独立开发各个组件,然后根据组间的依赖关系组装运行。

三、Bean的装配方式------基于XML的装配

  1. 属性setter方法注入 ,属性setter方法注入要求Bean必须满足以下两点要求。 
    1.  Bean类必须提供一个默认的无参构造方法。
    2. Bean类必须为需要注入的属性提供对应的setter方法。
    3. 代码示例
      <bean id="user" class="com.cyqh.User">
          <property name="id" value="1"/>
          <property name="name" value="张三"/>
          <property name="password" value="123"/>
      </bean>

四、简述AOP

  • AOP主张将程序中相同的业务逻辑进行横向隔离,并将重复的业务逻辑抽取到一个独立的模块中,以达到提高程序可重用性和开发效率的目的。AOP的使用使开发人员在编写业务逻辑时可以专心于核心逻辑,而不用过多的关注其他业务逻辑的实现,这不但提高了开发效率,而且增强了代码的可维护性。

五、事务管理的方式

  • 编程式事务管理:通过编写代码实现的事务管理,包括定义事务的开始、正常执行后的事务提交和异常时的事务回滚。
  • 声明式事务管理:通过AOP技术实现的事务管理,其主要思想是将事务管理作为一个“切面”代码单独编写,然后通过AOP技术将事务管理的“切面”代码植入到业务目标类中。

六、Spring MVC的特点

  • Spring MVC是Spring框架的后续产品,可以方便地使用Spring框架所提供的其他功能。
  • Spring MVC使用简单,很容易设计出干净简洁的Web层。
  • Spring MVC支持各种请求资源的映射策略。
  • Spring MVC具有非常灵活的数据验证、格式化和数据绑定机制,能使用任何对象进行数据绑定,不必实现特定框架的API。
  • Spring MVC支持国际化,可以根据用户区域显示多国语言。
  • Spring MVC支持多种视图技术,支持JSP,Velocity和FreeMarker等视图技术。
  • Spring MVC灵活性强,易扩展。等等。

七、Spring MVC的执行流程

  1. 用户通过浏览器向服务器发送请求,请求会被Spring MVC的前端控制器(DispatcherServlet)拦截。
  2. DispatcherServlet拦截到请求后,会调用处理器映射器(HandlerMapping)。
  3. 处理器映射器根据请求URL找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。
  4. DispatcherServlet会通过返回信息选择合适的处理器适配器(HandlerAdapter)。
  5. HandlerAdapter会调用并执行处理器(Handler),这里的处理器是指程序中编写的Controller类,也被称之为后端控制器。
  6. Controller执行完成后,会返回一个ModelAndView对象,该对象中会包含视图名或包含模型和视图名。
  7. HandlerAdapter将ModelAndView对象返回给DispatcherServlet。
  8. 前端控制器请求视图解析器根据逻辑视图名解析真正的视图。
  9. ViewResolver解析后,会向DispatcherServlet中返回具体的视图(View)对象。
  10. DispatcherServlet对View进行渲染(即将模型数据填充至视图中)。
  11. 前端控制器向用户响应结果。
  12. 图示过程:

 八、Spring MVC数据绑定的过程

  1. Spring MVC将ServletRequest对象传递给DataBinder。
  2. 将处理方法的入参对象传递给DataBinder。
  3. DataBinder调用ConversionService组件进行数据类型转换、数据格式化等工作,并将ServletRequest对象中的消息填充到参数对象中。
  4. 调用Validator组件对已经绑定了请求消息数据的参数对象进行数据合法性校验。
  5. 校验完成后会生成数据绑定结果BindingResult对象,Spring MVC会将BindingResult对象中的内容赋给处理方法的相应参数。
  6. 图示过程:

九、Spring 和 Mybatis整合--------application-dao.xml文件的配置

  1.  引入属性文件
    <context:property-placeholder location="classpath:jdbc.properties"/>
  2. 配置数据源
    <bean id="dataSource" calss="com.alibaba.druid.pool.DruidDataSource">
        <property name="driverClassName" value="${jdbc.driverClassName}"/>
        <property name="url" value="${jdbc.url}"/>
        <property name="username" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
    </bean>
  3. 创建SqlSessionFactory对象
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!--数据源-->
        <property name="dataSource" ref="dataSource"/>
    </bean>
  4. 扫描dao包,创建动态代理对象,会自动存储到Spring IoC容器中
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.cyqh.dao"/>
    </bean>

本学期的考试复习内容重点就是以上所描述,期末加油冲呀!!!

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值