与bean和应用程序相关的查询。

时间:2012-04-04 05:05:43

标签: spring spring-mvc javabeans applicationcontext

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

  1. 我有包含对象的类。假设我有一个员工,产品,项目类,其中包含该员工中的一些对象(ID,名称),同样适用于产品和项目。现在我必须为以下对象编写bean:

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

    我应该为employee.xml,product.xml等每个类创建一个单独的bean文件,还是应该在单个文件中列出一个beans标记中的所有bean,让我们说xyz.xml。 ? 我们必须提到请求,会话等范围。我们在这里只提到写下每个bean或其他地方的时候?

  2. 我们确实有在数据库中添加员工或删除某些条目的方法。我们是否需要在bean标记中的任何位置引用它们或者只是在java类中编写它们?

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

    打包MyPackage;

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement;

    public class 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中使用它。如何使用Application Context将其带入项目。假设我有employee.xml,product.xml或者我有一个文件xyz.xml。我需要在applicationContext.xml中编写什么代码才能使一切正常。是否有任何bean工厂方法我必须写。

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

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分: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。