[英]Queries related to beans and application Context.
我正在使用 Spring MVC 开发一个 web 应用程序。 我想问一些与 beans 文件和应用程序上下文相关的事情。
我有具有对象的类。 假设我有一个员工、产品、项目类,该员工(ID、名称)中有一些对象,产品和项目也是如此。 现在我必须像这样为以下 object 编写 bean:
<bean id="..." class="..."/>
我应该为每个 class 创建一个单独的 bean 文件,例如 employee.xml、product.xml,还是应该在单个文件中的一个 beans 标签中列出所有 bean,比方说 xyz.xml。 ? 我们必须提到像请求、会话等范围。我们必须只在写下每个 bean 或其他地方时才在这里提到它?
我们确实有一些方法,比如在数据库中添加一个员工或删除一些条目。 我们需要在 bean 标签中的任何地方引用它们还是简单地将它们写在 java 类中?
我有一个涉及使用 JDBC 的数据库连接。现在我有一个 class,我只需建立连接 object 并使用它。 如何制作一个豆子。 这样它就可以一次又一次地使用。 目前我的数据库连接 class 是这样的:
package 我的包裹;
导入 java.sql.连接; 导入 java.sql.DriverManager; 导入 java.sql.ResultSet; 导入 java.sql.SQLException; 导入 java.sql.Statement;
公共 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();} } }
一旦我完成了将所有 bean 写入单独文件或单个文件的操作。 如何在 Spring MVC 中使用它。 如何使用 Application Context 将其引入项目。 假设我有 employee.xml、product.xml 或者我有一个文件 xyz.xml。 我需要在我的 applicationContext.xml 中编写什么代码,以便一切正常。 是否有任何我必须编写的 bean 工厂方法。
请帮我解决我的问题..谢谢... :)
1) POJO 不应定义为 beans。只有服务、存储库、控制器应定义为 beans。
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>
对于您的第三个问题:要创建任何 class 类服务的 bean,请在您的 controller 中编写代码,如下所示
@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 class 创建 bean。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.