2012-04-04 12 views
0

私はSpring MVCを使ってWebアプリケーションを開発しています。私は、Beanファイルとアプリケーションコンテキストに関連するものを尋ねたいと思います。Beanおよびアプリケーションコンテキストに関連するクエリ。

  1. 私はオブジェクトを持つクラスを持っています。私は従業員、製品、プロジェクトを持っているとしましょう。従業員(ID、名前)と同じものがいくつかのオブジェクトを持つクラスと同じ製品とプロジェクトになります。今、私はこのような次のオブジェクトのための豆を記述する必要があります。

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

    iは、employee.xmlのようなクラスごとに個別のBeanファイルを作るのProduct.xmlか、私は1つの豆タグ内のすべてのBeanをダウンリストでなければならないべき1つのファイルにxyz.xmlとしましょう。 ? リクエスト、セッションなどのスコープについて言及する必要があります。ここでは、各Beanや他の場所を書き留めている間にしか言及していませんか?

  2. データベースに従業員を追加する、またはエントリを削除するなどの方法があります。 Beanタグ内のどこにでもそれらを参照するか、単にJavaクラスで記述する必要がありますか?

  3. JDBCを使用したデータベース接続があります。今、私は単に接続オブジェクトを作成して使用するクラスを持っています。それのビーンを作る方法。それが何度も何度も使用できるように。現在、私のデータベース接続クラスは次のようなものです:

    パッケージMyPackage;

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; インポートjava.sql.SQLException; import java.sql.Statement;

    パブリッククラスHandleConnections {私は別のファイルまたは単一のファイル内のすべてのBeanを書き込んで行わたら

    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. 。 Spring MVCでの使用方法それをアプリケーションコンテキストを使用してプロジェクトに持ち込む方法私はemployee.xml、product.xmlを持っているとしましょうか、私は単一のファイルxyz.xmlを持っているとしましょう。どのようなコードを私のapplicationContext.xmlに書く必要がありますので、すべてうまく動作します。そこに私が書く必要があるどのようなBeanのファクトリメソッドです。

私の問題で私を助けてください..おかげで... :)

+1

あなたはSpringとDIについて何も知らないのですが、あなたはSpring MVCに慣れていません....それはSpringを使って作業を開始することではありません(Javaかどうかはわかりません)。私はSpringに関するいくつかの本や文書を読むことをお勧めします。 Springのリファレンスマニュアルは、途中で素晴らしい出発点です。 –

+0

3番目の問題については、(宣言的なトランザクションや....などの)Springの機能を利用するために、Springのコンテキストで設定された(カスタムクラスではなく)DataSourceを使用しなければなりません。私はあなたもJdbcTemplateを使用することをお勧めします。 –

+0

Spring 3で作業している場合、Beanを定義するためにAnnotationsを使用することもできます。また、Spring MVCで直接開始する前に、Springの仕組みとそのような強力なフレームワークの基本的な詳細を入手してください。 – Logan

答えて

0

1)のPOJOはbeans.Onlyサービス、リポジトリとして定義すべきではない、コントローラは、豆のように定義する必要があります。

2)Beanタグで言及する必要はありません。

3)JDBCTemplateを使用し、データソースを設定します。

4)あなたがあなたの第三の問題については、この

<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> 
0

のようなあなたのディスパッチャサーブレットのcontextConfigLocationを設定している:

@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"); 
} 

} 
下記のようなサービスは、あなたのコントローラでコードを書くように任意のクラスのBeanを作成するには

上記のとおり、POJOクラス用にBeanを作成しないでください。

関連する問題