J2EE知识点总结

J2EE

1、spring框架、ioc、aop、动态代理、切面(连接点、切入点、织入)的概念

spring框架:Spring是一个轻量级的Java 开发开源框架 * 可以做到简单,可测试,松耦合的一个框架 * 是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架

IOC(控制反转) 应用本身不负责依赖对象的创建及依赖关系的维护,而是由外部容器(Spring)负责。

DI(依赖注入) 在运行期间,由外部容器将依赖对象注入给组件。

Aop:面向切面编程,通俗讲就是将重复性很高的代码,封装到一起。提高代码的可维护性。

动态代理:是指代理类不创建,而由第三方工具类在缓存中创建,并添加附加操作。

切面:aspect(切面):point cut和advice结合起来就是aspect,它类似于OOP中定义的一个类,但它代表的更多是对象间横向的关系。

Joinpoint(连接点)

Advice在应用程序中被执行的时机称为Joinpoint(连接点),这个时机可能是某个方法被执行之前或之后(或两者都有).

Pointcut(切入点)

一组连接点的集合,用于指定哪些Aspect在哪些Joinpoint中织入到应用程序之上.

(连接点和切入点概念是AOP概念,Spring应用概念进行配置,包括一个切入点表达式

一个包含名字和任意参数的方法签名)

连接点:调用切面的方法就是连接点

切入点:定义多个执行切面的连接点的规则就是切入点定义。

Weave(织入) Advice被应用至目标对象之上的过程称这为织入(Weave)

 

2、applicationContext它的实现类和作用,来自于谁

实现类ClassPathXmlApplicationContext

作用:负责读取bean配置文档,管理bean的加载,实例化,维护bean之间的依赖关系,负责bean的声明周期。

来源:Spring框架基础包spring-context-3.2.0. RELEASE.jar

3、事务管理有哪些方式,编程式什么声明式是什么

声明式事务管理在方法执行前后进行拦截,然后在目标方法开始之前创建并加入事务,执行完目标方法后根据执行情况提交或回滚事务。

基于AOP事务管理本身是一项共有的系统级服务功能,完全可以将事务管理抽象成一个事务切面,程序员不再关心事务管理的问题,把主要精力放在核心业务逻辑代码的编写上,然后在需要进行事务管理的方法上切入事务切面,使之具有事务管理的功能,达到事务管理的目的。

 

编程式事物管理:编程式事务管理方法允许你在源代码编程的方式下管理事务。虽然带来了极大地灵活性,但是它很难维护。

程序员在编写程序代码实现事务的管理,具体包括定义事务的开始、在程序异常时进行事务的回滚及程序正常执行后的事务提交。

 

4、常规测试方法,获取bean的方法

5、Spring核心配置文件的作用

1、bean的注入。2、扫描注解,使注解生效。3、管理bean

6、配置文件中的常用标签

<mvc:annotation-driven />

<mvc:default-servlet-handler/>

<context:component-scan base-package="com.wdk.web" />

7、Spring的常用注解

@Controller:用于标识是处理器类;

@RequestMapping:请求到处理器功能方法的映射规则;

@RequestParam:请求参数到处理器功能处理方法的方法参数上的绑定;

@ModelAttribute:请求参数到命令对象的绑定

@SessionAttributes:用于声明session级别存储的属性,放置在处理器类上,通常列出模型属性(如@ModelAttribute)对应的名称,则这些属性会透明的保存到session中;

@InitBinder:自定义数据绑定注册支持,用于将请求参数转换到命令对象属性的对应类型;

@CookieValue:cookie数据到处理器功能处理方法的方法参数上的绑定;

@RequestHeader:请求头(header)数据到处理器功能处理方法的方法参数上的绑定;

@RequestBody:请求的body体的绑定(通过HttpMessageConverter进行类型转换);

@ResponseBody:处理器功能处理方法的返回值作为响应体(通过HttpMessageConverter进行类型转换);

@ResponseStatus:定义处理器功能处理方法/异常处理器返回的状态码和原因;

@ExceptionHandler:注解式声明异常处理器;

@PathVariable:请求URI中的模板变量部分到处理器功能处理方法的方法参数上的绑定,从而支持RESTful架构风格的URI;

8、Mybatis常用接口类,整合插件包中的常用类

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

9、spring容器的bean作用域

单例模式:singleton 多例模式:prototype

10、controller控制方法的常用返回类型有哪些

Map、List、String、json、xml

11、spring类型转换扩展接口是什么

Converter 接口

12、spring中用过的设计模式有哪些

单例模式、工厂模式、适配器、代理、模板方法、装饰器

13、springmvc的核心功能类是什么

DispatcherServlet是前端控制器设计模式的实现,提供Spring Web MVC的集中访问点,而且负责职责的分派,而且与Spring IoC容器无缝集成,从而可以获得Spring的所有好处。

14、代理的作用是什么,把我们的关注点是什么

为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。

15、Restful风格中url路径动态参数的注解,ajax请求使用的注解

1、@PathVariable   2、@RequestMapping

16、Controller如果响应用户信息,用户信息的参数类型是什么

String类型 ModelView

17、视图解析器、数据源(连接池)、拦截器是什么

视图解析器:将逻辑视图解析为一个具体的视图对象。视图解析器ViewResolver:是把一个逻辑上的视图名称解析为一个真正的视图

数据源(连接池):一个容器对象封装连接对象,用的时候直接获取,不需要重新创建

拦截器:拦截用户的请求并进行相应的处理。比如通过它来进行权限验证,或者是来判断用户是否登陆等。

18、Springmvc的流程

jsp-->web.xml-->application.xml-->controller.java

Jsp (a超链接发请求)

--->web.xml(DispatcherServlet,名为springmvc)

--->springmvc-servlet(WEB-INF下的)

--->beans(name="超链接提交的路径,注意/开头")

--->Controller接口的实现类--->重写接口方法,并返回ModelAndView(根路径下的页面名称success.jsp)

jsp----web.xml(dispatcherServlet)---beans.xml----Controller---Service---DAO

IOC与传统编程相比的优点

19、编程题:做一个controller,做一个切面

@Controller // 或@RequestMapping //①将一个POJO类声明为处理器

public class HelloWorldController {

@RequestMapping(value="/hello")//②请求URL到处理器功能处理方法的映射

public ModelAndView helloWorld() {

//1、收集参数//2、绑定参数到命令对象

//3、调用业务对象//4、选择下一个页面

ModelAndView mv = new ModelAndView();

//添加模型数据可以是任意的POJO对象

mv.addObject("message", "Hello World!");

//设置逻辑视图名,视图解析器会根据该名字解析到具体的视图页面

mv.setViewName("hello");

return mv; //3 模型数据和逻辑视图名

}

}

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值