3

Java Bean に関するさまざまなサイトを確認したところ、再利用可能なコンポーネントの一部であると書かれていますが、再利用可能なコンポーネントとは実際には何を意味するのでしょうか。どの方法で再利用できるかを見つけることができませんでした。また、同じことを説明する例もありませんでした。これについて例を挙げてください。Java Bean には getter メソッドと setter メソッドがありますが、どの意味で再利用可能ですか?

public JavaBean{
    public String msg;
    public JavaBean()
    {
        msg="hwllo";
    }
    public string getMsg()
    {
        retrun msg;
    }
    public void setmsg(String msg)
    {
        this.msg=msg;
    }
}
4

5 に答える 5

0

再利用可能なコンポーネントは、特定の機能を実行するように設計された、事前に構築されたプログラミング コードです。
Bean はコードの「カプセル」であり、それぞれが特定の目的のために設計されています。標準のプログラミング コントロールに対する Java Bean の利点は、Bean が独立しており、オペレーティング システムや開発環境に固有のものではないことです。ある開発環境で作成された Bean は、別の開発環境で簡単にコピーおよび変更できます。コンポーネントは開発者間で簡単に共有できるため、エンタープライズ コンピューティングにおける Java Beans の柔軟性が高まります。Bean の背後にある刺激的な概念は、Java で作成されたアプリケーションを Bean として使用でき、それを使用して他のアプリケーションを構築できるという事実から生まれています。

于 2013-02-22T07:10:57.487 に答える
0

「再利用可能」とは、多くの異なるプロジェクトでコードを使用できることを意味します。たとえば、すべての Swing コンポーネントも Java Beans です。JFrame は、必要な数のプログラムで使用できます。

于 2013-02-22T06:43:13.187 に答える
0

Java Bean は、次のような特定の規則に準拠する単純な Java クラスです。

1) 引数なし (デフォルト) パブリック コンストラクター 2) 各プロパティにはアクセサー (get) メソッドとミューテーター (set) メソッドが必要です 3) Get/Set メソッドは特定の命名規則に従う必要があります 4) クラスはシリアル化可能である必要があります

これらのルールに従えば、他の (場合によってはサードパーティの) ソフトウェアがdiscover実行時にクラスの機能を利用して再利用できます。たとえばstruts tags、多くの Web アプリケーションで再利用されている単純な Java Bean です。通常、Java Bean は、作成、メソッド呼び出し、破棄などのライフサイクルを管理する何らかの形で実行されcontainerます。コンテナー (サーブレット コンテナー、Spring コンテナーなど) は、実際に使用する前であっても、クラスをインスタンス化し、そのプロパティを設定できます。あなたのコードで。このようにして、多くのボイラープレート/反復ロジック (オブジェクトの作成、プロパティの生成) がコードから取り出され、再利用されます。

于 2013-02-22T07:04:50.657 に答える
0

Java Bean再利用可能なコンポーネントは、少し異なる点についてです。そこにはJava Beansに関する多くの言葉が書かれています。ぜひご覧ください。最後に、これは、一部のフレームワーク、アプリケーション、およびその他のプログラマーがコードに期待する一連の規則にすぎません。他には何もありません。

再利用可能なコンポーネントはより一般的です。つまり、システム/アプリケーションのさまざまな部分でコードを再利用できます。または、他のアプリケーションでも、API として公開されたコードを使用できます。文字列を操作する単純なユーティリティ クラス、いくつかのドメイン オブジェクト(クラス Student、ああ、 Java Beanもあります!)、いくつかの電子メール送信サービス XML パーサー- それらはすべて再利用可能なコンポーネントです。

アップデート。コメントからの質問に答える、単純な印刷再利用可能なコンポーネント

public class OutStd {

  public static void print(String string) {
      System.out.println(string);
  }

}

public class SomeOtherComponent() {

  public void doSomeImportantStuff() {
    // reuse existing print functionality
    OutStd.print("Some string");
    // other stuff
  }

}
于 2013-02-22T07:14:49.927 に答える
-1

はい、Java Beanは再利用可能なコードの一部です。つまり、どこでも再利用できます。以下に例を示します。

package customer;
import java.io.*;
import java.util.*;
import java.sql.*;

public class Customer implements Serializable
{

        private String custID;
        private String custName;
        private int qty;
        private float price;
        private float total;
        private int storeCust;

        public String getCustID() {
            return custID;
        }

        public void setCustID(String custID) {
            this.custID = custID;
        }

        public String getCustName() {
            return custName;
        }

        public void setCustName(String custName) {
            this.custName = custName;
        }

        public int getQty() {
            return qty;
        }

        public void setQty(int qty) {
            this.qty = qty;
        }

        public float getPrice() {
            return price;
        }

        public void setPrice(float price) {
            this.price = price;
        }

        public float getTotal() {
            return total;
        }

        public void setTotal(float total) {
            this.total = total;
        }

        public int setStoreCust() 
        {
            try{
            Class.forName("com.mysql.jdbc.Driver");
            Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/usermaster","admin","password");
            PreparedStatement pstmt=null;
            String query=null;
            query="insert into customer values(?,?,?,?,?)";
            pstmt=con.prepareStatement(query);
            pstmt.setString(1,custID);
            pstmt.setString(2,custName);
            pstmt.setInt(3,qty);
            pstmt.setFloat(4,price);
            pstmt.setFloat(5,total);
            int i=pstmt.executeUpdate();

            this.storeCust=i;
            }
            catch(Exception e)
            {

            }
            return storeCust;
        }
}

これはjspページです

<%@ page contentType="text/html" pageEncoding="UTF-8"%>
<%@ page import="java.util.*" %>
<%@ page import="customer.Customer" %>
<html>
    <head>
        <title>JSP and JavaBean</title>

        <%-- create an instance of Customer class --%>
        <jsp:useBean id="cObj" scope="request" class="customer.Customer">

        <%-- Set the value of attribute such as CustID --%>
        <jsp:setProperty name="cObj" property="*" />
        </jsp:useBean>

    </head>
<body>

<%
            int x=cObj.setStoreCust();

            if(x>=1)
            {
        %>
                <jsp:forward page="Success.jsp" />
        <%

            }
            else
            {
        %>
                <jsp:forward page="Failure.jsp" />
        <%

            }

        %>

このjspページを実行すると、cutomer id、quantity、totalなどが要求され、送信するとデータベースに挿入されます。たとえば、1000レコードを入力したいので、この時点では1000回のJavaファイルを作成するのではなく、1回作成するだけで、すべてがBeanによって実行されます。

以下はjavabeansのいくつかのルールです、それを覚えておいてください

1.javabeanには、引数を受け入れないコンストラクターが含まれている必要があります。2.javabeanはパブリックインスタンス変数を宣言できません。3.javabeansには、JSPがアクセスする必要のあるすべてのプロパティのgetメソッドとsetメソッドが含まれている必要があります。

于 2013-02-27T04:12:21.850 に答える