0

我正在使用 Spring MVC 开发一个 Web 应用程序。我想问一些与 beans 文件和 Application Context 相关的事情。

  1. 我有有对象的类。假设我有一个员工,产品,项目类,该员工中有一些对象(ID,名称),产品和项目也是如此。现在我必须为以下对象编写 bean,如下所示:

    <bean id="..." class="..."/>
    

    我应该为每个类(如employee.xml、product.xml)制作一个单独的bean 文件,还是应该在一个文件中列出一个bean 标记中的所有bean,比如说xyz.xml。? 而且我们必须提到请求、会话等范围。我们必须在此处仅在写下每个 bean 或其他地方时提及?

  2. 我们确实有一些方法,比如在数据库中添加员工或删除一些条目。我们需要在 bean 标记中的任何地方引用它们还是简单地将它们写在 java 类中?

  3. 我有一个使用 JDBC 的数据库连接。现在我有一个类,我只需创建一个连接对象并使用它。如何做一个豆子。这样它就可以一次又一次地使用。目前我的数据库连接类是这样的:

    包裹我的包裹;

    导入java.sql.Connection;导入 java.sql.DriverManager;导入java.sql.ResultSet;导入java.sql.SQLException;导入 java.sql.Statement;

    公共类 HandleConnections {

    public Connection getConnection()
    {
        Connection con = null;
        try{
            String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
        Class.forName(driver);
    
        String db = "jdbc:odbc:Practice_Database";
        con = DriverManager.getConnection(db,"","");
    
        }catch(Exception e){System.out.println(e);}
        return con;
    
    }
    
    
    public void closeConnectionVariables(Connection obj, ResultSet rs, Statement st){
    
        //try {rs.close();} catch (SQLException e) {e.printStackTrace();}
        try {obj.close();} catch (SQLException e) {e.printStackTrace();}
        try {st.close();} catch (SQLException e) {e.printStackTrace();}
        }
    
    }
    
  4. 一旦我完成了将所有 bean 写入单独的文件或单个文件中。如何在 Spring MVC 中使用它。如何使用应用程序上下文将其带入项目。假设我有employee.xml、product.xml 或者我有一个文件xyz.xml。我需要在我的 applicationContext.xml 中编写什么代码,以便一切正常。是否有我必须编写的任何 bean Factory 方法。

请帮我解决我的问题..谢谢... :)

4

2 回答 2

0

1) POJO 不应该被定义为 bean。只有服务、存储库、控制器应该被定义为 bean。

2)您不需要在bean标签中提及。

3)使用 JDBCTemplate 并将数据源设置为它。

4)您已经像这样为调度程序 servlet 设置了 contextConfigLocation

    <servlet>
        <servlet-name>appServlet</servlet-name>
       <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
于 2012-04-04T07:55:05.640 回答
0

对于您的第三个问题:要创建任何类的 bean,例如服务,请在您的控制器中编写代码,如下所示

@Controller
@RequestMapping("eventManagement")
public class ExamEventController implements ApplicationContextAware {
  private ExamEventServiceImpl eventServiceImpl;

  @RequestMapping(value = { "/eventList" }, method = RequestMethod.GET)
  public String listGet(Model model, HttpServletRequest request,
        Locale locale) {
     ExamEvent event=eventServiceImpl.getEventDetails(eventId);
  }
  ...
  ...
  ...
  public void setApplicationContext(ApplicationContext applicationContext)
        throws BeansException {
    eventServiceImpl = (ExamEventServiceImpl)applicationContext.getBean("ExamEventService");
 }

}

正如提到的那样,不要为 POJO 类创建 bean。

于 2014-08-25T12:04:25.060 回答