zoukankan      html  css  js  c++  java
  • Java学习笔记(九)——javabean

    【前面的话】

          实际项目在用spring框架结合dubbo框架做一个系统,虽然也负责了一块内容,但是自己的能力还是不足,所以还需要好好学习一下基础知识,然后做一些笔记。自己的自学能力还是显得不够好,每次静下心的时间持续的不够多,要好好锻炼自己的自学能力。

          学习过程中的小知识点总结,基础知识,选择阅读

    javabean定义】

    定义JavaBeans是Java语言中可以重复使用的软件组件,实质上是一种特殊的Java类。特点是可序列化,提供无参构造器,提供getter方法和setter方法访问对象的属性。

    优点:

    1. Bean可以控制它的属性、事件和方法是否暴露给其他程序。
    2. Bean可以接收来自其他对象的事件,也可以产生事件给其他对象。
    3. 有软件可用来配置Bean。
    4. Bean的属性可以被序列化,以供日后重用。

    规范:要成为JavaBean类,则必须遵循关于命名、构造器、方法的特定规范。有了这些规范,才能有可以使用、复用、替代和连接JavaBeans的工具。

    1. 有一个公有的无参构造器。(java核心技术上面说:大多数开发工具要求每一个bean都具备一个默认的构造器,这样他们才能在没有构造参数的情况下初始化bean)
    2. 属性可以通过get、set、is(可以替代get,用在布尔型属性上)方法或遵循特定命名规范的其他方法访问。
    3. 可序列化。

    【两段代码】

      Javabean有两种使用方式:(当作普通的类来使用或者在 jsp 中页面处理时有特殊的标记符处理方式)

    • 嵌入 java 代码方式
    • 使用 jsp 标记符方式

       1. 嵌入 java 代码方式(java核心技术上面说:最简单的bean与一个java类没什么任何区别,只不过其方法采用了某种严格的命名惯例罢了)

       下面就是这样一个简单的使用:

    • BeanTest.java
     1 public class BeanTest {
     2  
     3     public int getId() {
     4         return id;
     5      }
     6      public void setId(int id) {
     7          this.id = id;
     8      }
     9      public String getName() {
    10          return name;
    11      }
    12      public void setName(String name) {
    13           this.name = name;
    14      }
    15      public String getPassword() {
    16           return password;
    17      }
    18      public void setPassword(String password) {
    19           this.password = password;
    20      }
    21      private int id;
    22      private String name;
    23      private String password;
    24  
    25 }
    View Code
    • Maintest.java
     1 public class Maintest {
     2     public static void main(String[] args){
     3         BeanTest beantest1=new BeanTest();
     4         beantest1.setId(1234567);
     5         beantest1.setName("帅哥");
     6         beantest1.setPassword("123456");
     7         System.out.println(beantest1.getId());
     8         System.out.println(beantest1.getName());
     9         System.out.println(beantest1.getPassword());
    10     }
    11 }
    View Code
    • 运行结果:
    1 1234567
    2 帅哥
    3 123456
    View Code

       2.  使用 jsp 标记符方式

    • 基础知识

         1)在jsp中构建一个新bean——jsp:useBean

          <jsp:useBean  id="beanName"  class="package.Class"  />

          例如:

         <jsp:useBean  id="book1"  class="coreservlets.Book" />

         等价于下列jsp语句(jsp文件中,使用<% %>里面包含的就是java语句

         <% coreservlets.Book   book1 = new   coreservlets.Book(); %>

        2)读取或者输出bean属性的值——jsp:getProperty

        <jsp:getProperty  name="beanName"  property="propertyName"  />

        例如:

        <jsp:getProperty  name="book1"  property="title" />

        等价于---

        <%= book1.getTitle() %>

        3)修改bean的属性——jsp:setProperty

        <jsp:setProperty  name="beanName" property="propertyName" value="propertyValue" />

       例如:

        <jsp:setProperty  name="book1"  property="title"  value="Core Servlets and JavaServer Pages" />

        等价于----

        <% book1.setTitle("Core Servlets and JavaServer Pages"); %>

    • 代码:

        1)JavaBeanTest .java

         这段代码就是一个简单的网页,显示怎么在jsp网页上面使用javabean。在eclipse中创建一个Dynamic Web Project.当然你要使用服务器。

     1 package com;
     2 public class JavaBeanTest {
     3    public String getName() {
     4        return name;
     5     }
     6  
     7     public void setName(String name) {
     8         this.name = name;
     9     }   
    10      public String getAge() {
    11         return age;
    12     }
    13  
    14     public void setAge(String age) {
    15         this.age = age;
    16     }
    17  
    18     public String getAddress() {
    19         return address;
    20     }
    21  
    22     public void setAddress(String address) {
    23         this.address = address;
    24     }
    25  
    26     private String name;
    27     private String age;
    28     private String address;
    29 }
    View Code

       2)JavaBean.jsp

     1 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
     2     pageEncoding="ISO-8859-1"%>
     3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 401 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     4 <html>
     5 <head>
     6 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
     7 <title>javabeantest</title>
     8 </head>
     9 <body>
    10   <jsp:useBean id="javabeanTest" class="com.JavaBeanTest"></jsp:useBean>
    11   <jsp:setProperty property="name" name="javabeanTest" value="TT"/>
    12   <jsp:setProperty property="age" name="javabeanTest" value="20"/>
    13   <jsp:setProperty property="address" name="javabeanTest" value="beijing"/>
    14   
    15   <jsp:getProperty property="name" name="javabeanTest"/><br>
    16   <jsp:getProperty property="age" name="javabeanTest"/><br>
    17   <jsp:getProperty property="address" name="javabeanTest"/><br>
    18 </body>
    19 </html>
    View Code
    •  运行结果:

        其实在jsp中使用还有一些更为复杂的东西,但是这里是入门技术,就以上。

    javabean持久化】

       JavaBean的持久化可以考虑三种方式:数据库、XML文件、二进制流

       第一种方式可以使用O/R Mapping技术将一个JavaBean映射到关系数据库中的表;

       第二种方式可以使用JAVA1.4 的java.beans.XMLDecoder/java.beans.XMLEncoder将Bean映射到一个XML文件中;

       第三种方式要求Bean实现Java的Serializable接口;这里测试了一下用第二种方式的持久化。

       具体涉及到的知识点后面在学习,这篇文章就到这里。

    【参考资料】

    1. http://www.cnblogs.com/kkgreen/archive/2011/04/19/2021621.html

    【后面的话】

         还是总结以下这篇文章,学习了什么是javabean,javabean的两种简单使用方式。简单说明了javabean的持久化。以后有时间了在学习学习EJB,使用javabean的持久化写一些demo。

    分享:

          1. 这世上有这么一类人,念书的时候按部就班,初中高中啥都不想,默默考了大学,可能考的也还不错,选专业要么听父母,要么是从众,这也无所谓,但是对于未来一无所知,也没想过,接着大学依然按部就班,上课听讲下课作业,平时轻松考前恶补,没想过拿奖,没热爱过专业,没做过实习,没主动去试着尝试点项目,哪怕连最普通的自学都没做过,就这么稀里糊涂的混了三四年,快毕业觉得社会恐惧工作难找,于是又认为这是学历还不够高的问题,于是又去考了研

         反思:这说的是我吗?说的是我吗?说的是我吗?

         2. 不成熟的男人不理性地认为理性可以解决一切问题,成熟的男人理性地看待人类理性与感性的共存。

    ——TT

     

  • 相关阅读:
    寄存器(内存访问)知识整理
    寄存器知识点
    汇编语言之实验一
    汇编语言基础知识的总结
    汇编语言之第五章至第八章知识汇总
    汇编实验之第八章数据处理的两个基本问题
    汇编语言之第七章更灵活的定位内存地址的方法
    汇编语言之实验九
    汇编语言之第六章包含多个段的程序
    汇编语言之第五章【BX】和loop指令
  • 原文地址:https://www.cnblogs.com/xt0810/p/3560289.html
Copyright © 2011-2022 走看看