21xrx.com
2024-12-23 11:42:58 Monday
登录
文章检索 我的文章 写文章
作为一名JAVA开发人员
2023-06-10 15:42:32 深夜i     --     --

作为一名JAVA开发人员,我在面试中遇到了很多关于JAVA框架的问题。今天,我将分享一些我在准备面试过程中收集到的JAVA框架面试题和相应的代码例子。下面是三个关键词以及相应的问题和代码:

1. Spring框架

问题:Spring框架中的IoC和DI有什么区别?请举例说明。

代码:

//IoC示例

public class Car {

  private Engine engine;

  public Car(Engine engine)

    this.engine = engine;

  public void start() {

    engine.start();

  }

}

//DI示例

public class Car {

  @Autowired

  private Engine engine;

  public void start() {

    engine.start();

  }

}

2. Hibernate框架

问题:请解释Hibernate中的Session和Transaction的作用。

代码:

//Session示例

Session session = sessionFactory.openSession();

Transaction transaction = session.beginTransaction();

Customer customer = new Customer();

customer.setName("John");

customer.setAge(30);

session.save(customer);

transaction.commit();

session.close();

//Transaction示例

Session session = sessionFactory.getCurrentSession();

Transaction transaction = session.beginTransaction();

try {

  //执行一些操作

  transaction.commit();

} catch(Exception e) {

  transaction.rollback();

}

3. Struts2框架

问题:请说明Struts2中的拦截器是什么?它们有什么作用?

代码:

//拦截器示例

public class MyInterceptor extends AbstractInterceptor {

  public String intercept(ActionInvocation invocation) throws Exception {

    //在调用Action方法前执行的代码

    System.out.println("Before action invocation");

    String result = invocation.invoke(); //执行Action方法

    //在调用Action方法后执行的代码

    System.out.println("After action invocation");

    return result;

  }

}

在Struts2中,拦截器用于拦截请求和响应,以执行一些通用的操作,例如记录日志、验证用户身份、授权等。拦截器可以定义在struts.xml文件中,并且可以通过继承ActionSupport类来为Action添加默认拦截器。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复