JavaBean

0、声明

以下内容为本人学习时他人博客的总结。

全部内容的原文链接:javabean_一般有趣的 ID的博客-CSDN博客

1、javabean简介

为什么要引入javabean?

JavaBean 是一种 Java 类,它遵循特定的命名约定并实现特定接口和规范。使用 JavaBean 可以将数据封装成对象,这样可以方便地进行操作和管理。引入 JavaBean 的主要目的是为了提高 Java 代码的可维护性和可重用性。

JavaBean 具有以下几个优点:

  • 封装性:将数据封装在对象内,只暴露必要的属性和方法,屏蔽内部实现细节,提高安全性。

  • 可重用性:JavaBean 可以被其他程序调用,使得代码具有更好的可重用性,减少了代码的冗余。

  • 可扩展性:JavaBean 支持继承和多态特性,可以方便地扩展和修改代码,使得代码更加灵活和易于维护。

  • 规范性:JavaBean 遵循一定的规范,使得代码结构清晰、易读易懂,并且符合 Java 编程的惯例和标准。

  • 工具支持:JavaBean 可以被各种开发工具支持,如 Eclipse、NetBeans 等,方便编写和调试代码。

因此,引入 JavaBean 可以帮助开发人员更好地组织和管理代码,提高代码的可维护性和可重用性。

2、javabean的种类

JavaBean是指一种符合特定规范的Java类,它可以用于描述一个可重用的组件。不同类型的JavaBean可以根据其作用和实现方式进行分类,下面是几种常见的JavaBean分类:

1.实体类Bean(Entity Bean):主要用于封装持久化数据的JavaBean。

2.会话Bean(Session Bean):主要用于支持应用程序的业务逻辑处理。

3.消息驱动Bean(Message-Driven Bean):主要用于在分布式系统中处理异步消息。

4.工具类Bean(Utility Bean):主要包含各种工具方法,如日期处理、字符串处理等。

5.显示类Bean(GUI Bean):主要用于实现用户界面组件,如文本框、按钮等。

6.事件类Bean(Event Bean):主要用于封装事件信息,如鼠标点击事件、键盘事件等。

7.配置类Bean(Configuration Bean):主要用于存储应用程序的配置信息,如数据库连接信息、邮件服务器信息等。

8.验证类Bean(Validation Bean):主要用于验证表单输入数据的合法性,如身份证号码、电话号码等。

3、javabean的设计要求

JavaBean 是一种遵循特定规则的 Java 类,用于构建可重用的组件。它们通常用于表示业务对象,如用户、订单、产品等。

以下是 JavaBean 的设计要求:

1.必须提供一个默认的公共构造函数,不带参数,并且没有返回值。

2.所有属性必须是私有的,并且必须使用公共 getter 和 setter 方法来访问和修改属性的值。

3.属性名必须遵循标准的命名规范,例如:属性 foo 的 getter 方法应该命名为 getFoo(),setter 方法应该命名为 setFoo()。

4.应该实现 java.io.Serializable 接口,以允许 JavaBean 实例在网络上进行传输或存储到文件中。

如果需要,可以提供自定义的序列化和反序列化方法,以便对属性进行更精细的控制。

4、JavaBean数据之间的映射

ORM:对象关系映射。

  • 表--->类

  • 字段--->属性

  • 行--->对象

实现表单与JavaBean数据之间的映射可以采用以下三种方式:

手动映射:即手动编写代码将表单数据赋值给JavaBean属性,或从JavaBean属性中获取数据并展示到表单中。

使用第三方框架:如Apache Struts、Spring MVC等框架都提供了表单数据绑定的机制,可以自动将表单数据与JavaBean属性进行映射。

基于注解的映射:可以通过在JavaBean属性上添加特定的注解来实现表单数据与JavaBean属性之间的映射。常见的注解包括@ModelAttribute、@RequestParam等。

5、 dao设计模式

DAO(Data Access Object)是一种设计模式,它将数据访问逻辑从业务逻辑中分离出来,以达到解耦的目的。

DAO 模式通常包含以下组成部分:

DAO 接口:定义了数据访问对象的方法。

DAO 实现类:实现了 DAO 接口中定义的方法。

数据库访问类:负责和数据库进行交互,提供增删改查等基本操作。

使用 DAO 模式的好处在于,可以使业务逻辑和数据访问逻辑分别独立开来,降低了彼此之间的耦合。这样,当需要修改数据访问逻辑时,不会影响到业务逻辑;同样,当需要修改业务逻辑时,也不会影响到数据访问逻辑。

// DAO 接口
public interface UserDao {
    // 增加用户
    void addUser(User user);
    // 删除用户
    void deleteUser(int userId); 
    // 更新用户
    void updateUser(User user);
    // 获取用户列表
    List<User> getUserList();
}
​
// DAO 实现类
public class UserDaoImpl implements UserDao {
    // 数据库访问类
    private JdbcTemplate jdbcTemplate;  
    
    public void setDataSource(DataSource dataSource) {
        this.jdbcTemplate = new JdbcTemplate(dataSource);
    }   
    @Override
    public void addUser(User user) {
        String sql = "INSERT INTO user(name, age) VALUES (?, ?)";
        jdbcTemplate.update(sql, user.getName(), user.getAge());
    }
    @Override
    public void deleteUser(int userId) {
        String sql = "DELETE FROM user WHERE id = ?";
        jdbcTemplate.update(sql, userId);
    }   
    @Override
    public void updateUser(User user) {
        String sql = "UPDATE user SET name = ?, age = ? WHERE id = ?";
        jdbcTemplate.update(sql, user.getName(), user.getAge(), user.getId());
    }   
    @Override
    public List<User> getUserList() {
        String sql = "SELECT * FROM user";
        return jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(User.class));
    }
}
// 数据库访问类
public class DataSource {
    // 省略数据库连接等相关的代码
    public Connection getConnection() {
        // 获取数据库连接
        // ...
        return connection;
    }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

echo wsn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值