【前面的话】

实际项目在用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. }
  • 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. }
  • 运行结果:
  1. 1234567
  2. 帅哥
  3. 123456

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. }

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>
  • 运行结果:

其实在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

Java学习笔记(九)——javabean的更多相关文章

  1. Java学习笔记九(泛型)

    1.介绍 所谓的泛型就是将类型作为一种參数来传递.有了泛型后类型不再是一成不变的.能够通过泛型參数来指定. 能够提供程序开发的灵活性. 2.泛型类或接口的使用 泛型类声明时.与普通类没有太大的差别,仅 ...

  2. Java学习笔记九:Java的循环跳转语句

    Java的循环跳转语句 一:Java循环跳转语句之break: 生活中,我们经常会因为某些原因中断既定的任务安排.如在参加 10000 米长跑时,才跑了 500 米就由于体力不支,需要退出比赛.在 J ...

  3. Java学习笔记九

    GUI:图形用户界面,Java不常用于创建桌面应用,所以用的比较少 一.概述: 二.Frame演示: 三.事件监听机制 import java.awt.Button; import java.awt. ...

  4. Java学习笔记(九)面向对象---模板方法设计模式

    理解 在定义功能时功能的一部分是确定的,但是有一部分是不确定的,而确定的部分在使用不确定的部分,那么就将不确定的部分暴露出去,由该类的子类完成. 举例 需求 获取一段程序的运行时间 代码 abstra ...

  5. Java学习笔记4

    Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...

  6. 多线程学习笔记九之ThreadLocal

    目录 多线程学习笔记九之ThreadLocal 简介 类结构 源码分析 ThreadLocalMap set(T value) get() remove() 为什么ThreadLocalMap的键是W ...

  7. 20145230《java学习笔记》第九周学习总结

    20145230 <Java程序设计>第9周学习总结 教材学习内容 JDBC JDBC简介 JDBC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商则对接口进行操作, ...

  8. Java学习笔记【一、环境搭建】

    今天把java的学习重新拾起来,一方面是因为公司的项目需要用到大数据方面的东西,需要用java做语言 另一方面是原先使用的C#公司也在慢慢替换为java,为了以后路宽一些吧,技多不压身 此次的学习目标 ...

  9. java学习笔记之OOP(二)

    java学习笔记二.面向对象[OOP]Object Oriented Programming 一.三大特性: 1.封装:隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用 ...

  10. 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁

    什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...

随机推荐

  1. 用live()方法给新增节点绑定事件

    jQuery 给所有匹配的元素附加一个事件处理函数,即使这个元素是以后再添加进来的也有效. 这个方法是基本是的 .bind() 方法的一个变体.使用 .bind() 时,选择器匹配的元素会附加一个事件 ...

  2. python 栈和队列

    class Stack: def __init__(self): self.items = [] def isEmpty(self): return self.items == [] def push ...

  3. CentOS 下安装Mplayer播放器(转载)

    一.准备工作 需要的安装包及下载地址:1.mplayer源代码包(MPlayer-1.0rc4.tar.bz2)下载:http://www.mplayerhq.hu/MPlayer/releases/ ...

  4. React Mixin

    为什么使用 Mixin ? React为了将同样的功能添加到多个组件当中,你需要将这些通用的功能包装成一个mixin,然后导入到你的模块中. 可以说,相比继承而已,React更喜欢这种组合的方式. 写 ...

  5. jquery禁用按钮

    $('#sub').click(function () { var self = $(this); ,'#01b637') ){ return false; } }); function onesho ...

  6. 「模板」「讲解」Treap名次树

    Treap实现名次树 前言 学平衡树的过程可以说是相当艰难.浏览Blog的过程中看到大量指针版平衡树,不擅长指针操作的我已经接近崩溃.于是,我想着一定要写一篇非指针实现的Treap的Blog. 具体如 ...

  7. jsp 安装环境与基本语法

    1.什么是web应用程序? web应用程序是一种可以通过web访问的应用程序.web应用程序的最大好处是用户很容易访问应用程序.用户只需要有浏览器即可,不需要安装其它软件. 2.搭建 java web ...

  8. 【洛谷 P4735】 最大异或和 (可持久化Trie)

    题目链接 维护整个数列的异或前缀和和\(s\),然后每次就是要求\(s[N]\text{^}x\text{^}s[k],l-1<=k<=r-1\)的最大值 如果没有\(l\)的限制,那么直 ...

  9. Java 将html导出word格式

    @RequestMapping("download") public void exportWord( HttpServletRequest request, HttpServle ...

  10. 史诗级Java/JavaWeb学习资源免费分享

    黑马内部视频+相关配套学习资料 Java Spring 技术栈构建前后台团购网站 Java SSM开发大众点评后端 欢迎关注微信公众号:Java面试通关手册 回复关键词: "资源分享第一波& ...