Java 帝国之Java bean(下)

解决Windows 10中图标无文字显示的问题 在Windows 10操作系统中,有时候会出现图标显示正常,但文字却无法显示的情况。本文将介绍一种可能的解决方法,帮助您解决Windows 10中图标无文字显示的问题。希望本文提供的方法能够帮助您解决Windows 10中图标无文字显示的问题。如果问题仍然存在,建议您尝试其他的解决方法,或者联系Windows 10的技术支持团队,以获取进一步的帮助。图标无文字显示的问题可能与系统字体设置有关。完成上述步骤后,您的Windows 10系统中的图标应该显示文字了。步骤 3: 重置字体设置。 阅读详情

上一篇提到Java bean 的规范虽然定义的不错, 但却没有获得意料中的成功, 尤其是Java帝国所期待的桌面开发组件化市场上。 


我和小码哥多么期待优快云也能出一期《程序员大本营》, 里边包含成千上万的java bean 组件啊。


不要幻想了, 赶紧把java bean 应用在服务器端才是正事。

0?wx_fmt=png

JSP + Java Bean

0?wx_fmt=png

小码哥建议先用在jsp上试试,  可以用java bean 来封装业务逻辑,保存数据到数据库, 像这样:

0?wx_fmt=png

(微信公众号"码农翻身"注: 这其实叫做JSP Model 1 )


其中jsp 直接用来接受用户的请求, 然后通过java bean 来处理业务, 具体的使用方法是:

<jsp:useBean id="user" scope="page" class="com.coderising.User"/>

<jsp:setProperty property="userName" name="user" param="userName"/>

<jsp:setProperty property="password" name="user" param="password"/>


这就能把HTTP request中的所有参数都设置到 user 这个java bean 对应的属性上去。 


如果想偷懒, 还可以这样:


<jsp:setProperty name="user" property="*"/>


当然要保证 http request中的参数名和 java bean 中的属性名是一样的。 


这个叫做JSP Model 1 的模型受到了很多Java程序员的欢迎 ,  因为他们的应用规模都很小, 用Model 1 使得开发很快速。


实际上, 这种方式和微软帝国的asp , 以及和开源的php 几乎一样。 


但很快就有人来找我抱怨了, 说他们的项目中使用了Model 1 导致整个系统的崩溃。 


他说: “你知道吗? 我们的系统中有好几千个jsp, 这些jsp互相调用(通过GET/POST), 到了最后调用关系无人能搞懂。 ”


其实我们已经预料到了, 小码哥对此有个形象的比喻:意大利面条

0?wx_fmt=jpeg

这几千个JSP 就像这碗面条一样,搅在一起, 根本理不清楚。


为了解决这个问题,小码哥又推出了 :JSP Model 2 ,    这是个模型真正的体现了Model-View-Controller的思想:

0?wx_fmt=png

Servlet 充当Controller ,  jsp 充当 View 

Java bean 当然就是Model 了!


业务逻辑, 页面显示, 和处理过程做了很好的分离。 


基于这个模型的扩展和改进,  很多Web开发框架开始如雨后春笋一样出现, 其中最著名的就是Struts, SpringMVC 了。


Java Web开发迅速的繁荣了。 


我们再一次体会到了开放的好处 !

0?wx_fmt=png

Enterprise Java bean

0?wx_fmt=png

但是好景不长, 自从Java帝国统治了所谓的“企业级应用”开发领地, 各种各样的游行和抗议层出不穷:

“我们要分布式”

“我们要安全”

“我们要事务”
“我们要高可用性”

“......”

帝国分析了一下, 其实这些程序员的诉求可以归结为:

“我们只想关注我们的业务逻辑, 我们不想, 也不应该由我们来处理‘低级’的事务, 多线程,连接池,以及其他各种各种的‘低级’API, 此外Java帝国一定得提供集群功能, 这样我们的一台机器死机以后,整个系统还能运转。 ”


我们不能坐着不管, 企业级应用是我们的命根子。

  

小码哥彻夜工作, 最终拿出了一个叫做J2EE的东西, 像Java bean 一样, 这还是一个规范, 但是比Java bean 复杂的多, 其中有:


JDBC:  Java 数据库连接, 没有数据库的支持怎么能叫企业级应用?


JNDI :  Java 命名和目录接口, 通过一个名称就可以定位到一个数据源, 连jdbc连接都不用了


RMI:  远程过程调用,  让一个机器上的java 对象可以调用另外一个机器上的java 对象 , 你们不是要分布式吗?


JMS :   Java 消息服务,  可以使用消息队列了, 这不是企业级应用非常需要的吗?


JTA:  Java 事务管理, 支持分布式事务, 能在访问、更新多个数据库的时候,仍然保证事务, 还是分布式。


Java mail : 收发邮件也是必不可少的啊。


刘欣(微信公众号号:码农翻身)注:  J2EE 后来改成了Java EE。


当然还有最最最重要的升级, 小码哥把java bean 变成了 Enterprise Java bean , 简称 EJB。


小码哥宣称: 

使用了EJB, 你就可以把精力只放在业务上了, 那些烦人的事务管理, 安全管理,线程 统统交给容器(应用服务器)来处理吧。 


我们还提供了额外的福利, 只要你的应用服务器是由多个机器组成的集群, EJB就可以无缝的运行在这个集群上, 你完全不用考虑一个机器死掉了应用该怎么办。我们都帮你搞定了。 


使用Session Bean , 可以轻松的处理你的业务。


使用实体Bean (Entity bean ) , 你和数据库打交道会变得极为轻松, 甚至sql 都不用写了。


使用消息驱动Bean(Message Driven bean ) , 你可以轻松的和一个消息队列连接, 处理消息。


听起来很美好是不是? 


企业级开发领地的程序员们欢呼雀跃, 坐上了J2EE这条船,似乎一下子高贵起来, 开始鄙视微软的ASP, 开源的PHP, Python 等“不入流”的语言了 。


Weblogic , Websphere等符合J2EE规范的应用服务器趁势而上, 摇旗呐喊, 仿佛一个新的时代要来临了, 当然他们在背后一直闷声发大财。 

0?wx_fmt=png

Sring

0?wx_fmt=png

有句古话是对的, 捧的越高, 跌的越惨。 


很快,大部分的程序员就发现, 美好的前景并没有实现, EJB中用起来极为繁琐和笨重, 性能也不好, 为了获得所谓的分布式,反而背上了沉重的枷锁。 


实体Bean很快没人用了, 就连简单的无状态Session bean 也被大家所诟病, 其中一条罪状就是“代码的侵入性”。


也是, 小码哥定义EJB的时候没考虑那么多,程序员在定义一个Session bean的时候,需要写一大堆和业务完全没有关系的类。 


还需要被迫实现一些根本不应该实现的接口及其方法: 

0?wx_fmt=png

为了哪怕一点点业务逻辑, 我们都得写这么多无用的代码 ! 程序员们出离愤怒了!


他们发起了一场叫做POJO (Plain Old Java Object)的运动, 高唱这POJO之歌, 要求我们整改。 


他们希望这个样子:

public class HelloworldBean{

    public String hello(){

        return "hello world"

    }

}

与此同时,他们还过分的要求保留事务了, 安全了这些必备的东西。 


程序员确实不好伺候,   但是我们已经被Weblogic, Websphere这些大佬们“绑架”, 想改动谈何容易 !


2002年, 小码哥看到了Rod Johnson写的一本书《Expert one on one J2EE development withoutEJB》 , 赶紧跑来找我:

“老大, 坏了坏了, 你快看看这本书吧, 这个叫Rod的家伙写的这本书直击我们的命门,这厮要搞without EJB”

0?wx_fmt=jpeg

(微信公众号"码农翻身"注: 虽然这本书翻译的很差,但由于是spring的开山之作,还是值得读一下, 最好中英文对照)


岂止是without EJB,  他还“偷偷的”推出了一个叫什么Spring的框架, 已经迅速的流行开了。


Spring 框架顺应了POJO的潮流, 提供了一个spring 的容器来管理这些POJO, 好玩的是也叫做bean 。

 

看来我们的java bean 走了一圈又回到了原点。 


对于一个Bean 来说,如果你依赖别的Bean , 只需要声明即可, spring 容器负责把依赖的bean 给“注入进去“, 起初大家称之为控制反转(IoC)


后来 Martin flower 给这种方式起来个更好的名字,叫“依赖注入”。


如果一个Bean 需要一些像事务,日志,安全这样的通用的服务, 也是只需要声明即可, spring 容器在运行时能够动态的“织入”这些服务, 这叫AOP。 


后来我和小码哥商量, 我们EJB也学习Spring , 简化开发和配置, 但是为时已晚, Spring 已经成为事实上的标准了!程序员已经被spring 拉走了!


不过令我们欣慰的是, spring和spring mvc极大的增加了我们对web开发领地的统治力, java 帝国更加强盛了。 


(全文完)


声明:原创文章,未经授权, 禁止转载。


热门文章:

我是一个线程

我是一个Java class

Javascript: 一个屌丝的逆袭

Java : 一个帝国的诞生

Basic : 一个老兵的自述

小王的架构师之路

程序员在工作中必备的能力

码农需要知道的潜规则

TCP/IP 之 大明王朝的邮差

CPU 阿甘

IE为什么把Chrome和火狐打伤了

Node.js :我只需要一个店小二

假如我是计算机系老师

假如时光倒流,我会这么学Java

学会编程,而不是学会Java

15年编程生涯,资深架构师总结的7条经验


0?wx_fmt=jpeg

公共号:码农翻身

“码农翻身”公众号由工作15年的前IBM架构师创建,分享编程和职场的经验教训。

万字长文解密:SAP Fiori 首屏加载缓慢背后的真相 什么是一个健康理想的 Fiori 首次加载状态?FLP 首页不臃肿,用户默认看见的内容不多但足够用缓存作业按规则运行,冷启动不至于每次都从零开始应用首屏只读必要数据,UI5 资源经过 preload,视图异步加载OData 服务字段克制、分页合理、缓存分层清楚后台 CDS 与 HANA 只为当前屏幕做最必要的工作。只要这些标准同时满足,用户第一次打开 Fiori 页面的体感通常会从明显卡顿变成可接受甚至顺滑。 阅读详情

相关推荐

迪文串口屏开发环境搭建全流程:从DGUS Tool到串口联调

串口屏作为嵌入式人机交互的核心组件,通过串口通信实现主控MCU与显示终端的指令交互。其工作原理基于变量地址映射,主控读写VP地址即可驱动屏上控件,兼具低功耗与高稳定性。在工业控制、医疗设备及智能家居面板等场景中,串口屏能显著降低开发门槛与硬件成本。迪文屏凭借DGUS Tool上位机与自定义串口协议,成为主流选择。掌握DGUS Tool版本匹配、串口驱动安装及VP地址规划,是快速搭建开发环境的关键。

weixin_33937499的博客 615

java bean实例_JavaBean调用示例

作者:asp2001email: asp2001@163.netjavaBeanJavaBean 是一种基于 Java 的软件组件。 jsp 对于在 Web 应用中集成 JavaBean 组件提供了完善的支持。这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为 JSP 应用带来了更多的可伸缩性。 JavaBean 组件可以用来执行复杂的计算任务,或负责与数据库...

weixin_40009026的博客 711

锐捷交换机配置SSH

锐捷交换机配置ssh 一、组网需求 通过ssh功能可以远程登录管理设备 二、配置步骤 全局开启ssh服务,并且指定ssh版本 Ruijie>enable Ruijie#configure terminal Ruijie(config)#enable service ssh-server ------>开启SSH服务,默认关闭 Ruijie(config)#ip ssh version 2 ------>默认1.99版本,设置为版本2 添加登

Loners_fan的博客 1万+

2021-03-27 学习笔记:Java 帝国之Java bean (上)

Java 帝国之Java bean (上) 原创刘欣码农翻身2016-05-27 前言: 最近看到到spring 的bean 配置, 突然想到可能很多人不一定知道这个叫bean的东西的来龙去脉, 所以就写个文章来讲一下。 另外,上次出了开源中国抄袭事件, 为了防止转载以后我的公众号信息被故意删除, 我在文章的内容中加上了一些 刘欣(微信公众号:码农翻身) 这样的字样, 可能会造成一些烦扰, 请见谅。 我一手创立的Java帝国刚刚成立不久,便受到巨大的打击, 我派出去占领桌面开发的部队几...

okludawei的博客 221

如何使用AKShare作为OpenBB的数据源

`openbb_akshare`项目是 OpenBB 的数据源扩展。可以用于查询A股和港股数据

FinAnalyzer金融分析工具 3196

Yolov8-pose关键点检测:训练准备篇 | 自己数据集从labelme标注到生成yolo格式的关键点数据

yolov8-pose关键点检测系列:从数据集标记到生成适合yolo的关键点格式

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 5875

Java 帝国之Java bean (上)

前言: 最近看到到spring 的bean 配置, 突然想到可能很多人不一定知道这个叫bean的东西的来龙去脉, 所以就写个文章来讲一下。另外,上次出了开源中国抄袭事件,...

码农翻身 520

完整 Bootloader 框架

本文详细介绍了嵌入式系统中Bootloader的完整框架设计。主要内容包括:1.Bootloader的核心功能模块,如应用启动、命令交互、下载功能、Flash烧写和调试维护;2.模块化设计框架,包含启动代码、驱动层、协议实现等组件;3.典型工作流程和关键模块实现,如命令行接口、命令注册机制、Flash操作等;4.应用跳转前的准备工作和安全扩展设计,如加密校验、OTA支持等。文章强调了一个成熟Bootloader在系统维护、升级和安全中的重要性,建议采用模块化、可扩展的设计方法。

m0_49476241的博客 1338

Java 帝国之消息队列

张家村的历史Java 帝国的张家村正在迎来一次重大的变革。5年前网上购物兴起的时候, 帝国非常看好, 决定向这个领域进军, 于是兴建了张家村, 在这里安装了Java 虚拟...

码农翻身 608

【Frida Android】实战篇8:客户端证书认证绕过 Hook 教程

通过重写类的方法,自定义证书校验逻辑;利用配置文件,从系统层面管理证书信任策略;以及通过 OkHttp 框架提供的方法,实现证书的强绑定校验。这些内容主要围绕客户端如何验证服务端证书的合法性展开。客户端证书认证。当 APK 预置了客户端证书,并且服务端会对客户端证书进行校验时,传统的中间人攻击方式将面临新的挑战。我们将深入分析这种场景的工作原理,并详细介绍如何通过技术手段获取客户端证书、配置中间人工具,最终成功实现抓包分析。

水滴石穿 1429

柑橘病虫害识别方案总结

1. 方案一 1.1 赛题背景 1.2 数据分析 1.3 模型设计 1.3.1 模型具体方案 1.3.2 模型设计 1.4 实验结果 1.5 总结与展望 2. 方案二 2.1 赛题介绍 2.2 数据分析 2.3 算法方案解析 2.3.1 检测模型 2.3.2 提升策略 2.4 优化思路 3. 方案三 3.1 数据分析 3.1.1 数据说明 3.2 技术展示 3.2.1 数据输入端 3.2.2 模型结构端 3.2.3 上下文信息 3.2.4 训练优化端 3.2.5 创新性分析 3.3 算法及系统思考.....

herosunly的博客 2万+

Java 帝国之Java bean上

前言: 最近看到到spring 的bean 配置, 突然想到可能很多人不一定知道这个叫bean的东西的来龙去脉, 所以就写个文章来讲一下。 我一手创立的Java帝国刚刚成立不久,便受到巨大的打击, 我派出去占领桌面开发的部队几乎全军覆没。  情报说微软的Visual Basic 和Borland的Delphi最近在宣传什么组件化开发, 难道就是这东西把我们搞垮了?  刘欣(微信公众号:码农翻

u010416011的博客 723

YOLOv11 改进 - C2PSA | C2PSA融合Mask Attention掩码注意力,可学习掩码矩阵破解低分辨率特征提取难题 | 2025 预印

本文提出了用于低分辨率图像分割的MaskAttn - UNet框架,并将其核心的掩码注意力机制集成到YOLOv11中。传统U - Net类模型难以捕捉全局关联,Transformer类模型计算量大,而掩码注意力机制通过可学习的掩码,让模型选择性关注重要区域,融合了卷积的局部效率和注意力的全局视野。其工作流程包括特征适配、掩码生成、定向注意力计算和特征融合。我们将掩码注意力机制代码集成到YOLOv11中。

魔改工程师的博客 404

java帝国复兴,Java Bean

## Visual BasicVisual Basic在搞组件化开发,它有一个可视化编辑器只需要把一个组件(按钮)拖拽到表单上,设置一下属性(颜色),再添加一个事件,最后在onClick里面写点代码就可以了。## Java Bean API定义了一套规范, 只要大家按照这个规范做, 谁都可以用 java 做出像 VB 那样的可视化开发工具出来一个 java bean 其实就是一个普通的 java ...

weixin_39956022的博客 175

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

java 帝国之java bean,JavaBean调用示例

作者:asp2001email: asp2001@163.netJavaBeanJavaBean 是一种基于 Java 的软件组件。 JSP 对于在 Web 应用中集成 JavaBean 组件提供了完善的支持。这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为 JSP 应用带来了更多的可伸缩性。 JavaBean 组件可以用来执行复杂的计算任务,或负责与数据库...

weixin_30140093的博客 204

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

SpringFramework|@Qualifier与泛型配合使用

@Qualifier与泛型配合使用 前述 Java: 1.8 Maven: 3 SpringFramework版本以及各组件成员: 5.1.1.RELEASE spring-context spring-core spring-beans 除了@Qualifier注释之外,您还可以使用Java泛型类型作为隐式的限定形式。 (@Senyag) 示例(基于注解配置) 背景: 电影院...

aijuanlie5852的博客 283

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

品Spring:帝国的基石

来源:公众号【编程新说】序生活是一杯酒,有时需要麻醉自己,才能够暂时忘却痛苦与不快。生活是一杯茶,有时需要细细品味,才发现苦涩背后也会有甘甜。Spring是一杯酒,一眼望...

Java团长的博客 308

java bean spring_Java bean与Spring、Spring MVC关系

Java BeanJava语言欠缺属性、事件、多重继承功能。所以,如果要在Java程序中实现一些面向对象编程的常见需求,只能手写大量胶水代码。Java Bean正是编写这套胶水代码的惯用模式或约定。这些约定包括getXxx、setXxx、isXxx、addXxxListener、XxxEvent等。遵守上述约定的类可以用于若干工具或库。举个例子,假如有人要用Java实现一个单向链表类,可能会这样写...

weixin_35709851的博客 209

spring java bean_Java bean与Spring、Spring MVC关系

Java BeanJava语言欠缺属性、事件、多重继承功能。所以,如果要在Java程序中实现一些面向对象编程的常见需求,只能手写大量胶水代码。Java Bean正是编写这套胶水代码的惯用模式或约定。这些约定包括getXxx、setXxx、isXxx、addXxxListener、XxxEvent等。遵守上述约定的类可以用于若干工具或库。举个例子,假如有人要用Java实现一个单向链表类,可能会这样写...

weixin_39830323的博客 164

Java框架之Java Bean

链接 知乎https://www.zhihu.com/question/19773379 总结 符合一定规范的编写的Java类,不是一种技术,而是一种规范。大家对于这种规范,总结了很多开发技巧,工具函数。 1、所有属性为private2、提供默认构造方法3、提供getter和setter4、实现serializable接口 在java1996年发布,当年12月即发...

weixin_30735745的博客 191

springboot2.3.5 获取bean_品Spring:实现bean定义时采用的“先进生产力”

原创文章,首发于公众号:编程新说,作者:李新杰原文地址:https://mp.weixin.qq.com/s/t36U7Ov7kHIt9QRBU0QGGQ封面图前景回顾当我们把写好的业务代码交给Spring之后,Spring都会做些什么呢?仔细想象一下,再稍微抽象一下,Spring所做的几乎全部都是:“bean的实例化,bean的依赖装配,bean的初始化,bean的方法调用,bean的销毁回收”...

weixin_39694264的博客 158

Java Bean

Java 帝国之Java bean (上) Java 帝国之Java bean(下) Difference between DTO, VO, POJO, JavaBeans? Java bean 是个什么概念? JavaBean的详细及引用 转载于:https://www.cnblogs.com/net-saiya/p/5958533.html...

weixin_30905133的博客 90

Spring之-bean注解

@Bean注解 @bean注解是Spring中的一个重要注解,主要是用在方法上,将该方法发返回值注册成一个Bean,并加入到Spring中进行管理。 使用方法 @Configuration public class EntityServiceImpl { @Bean public Entity myEntity() { Entity entity=new Entity(); entity.setI(1); return entity;;

a5799的博客 713

Java bean与Spring、Spring MVC关系

Java Bean Java语言欠缺属性、事件、多重继承功能。所以,如果要在Java程序中实现一些面向对象编程的常见需求,只能手写大量胶水代码。Java Bean正是编写这套胶水代码的惯用模式或约定。这些约定包括getXxx、setXxx、isXxx、addXxxListener、XxxEvent等。遵守上述约定的类可以用于若干工具或库。 举个例子,假如有人要用Java实现一个单向链表...

weixin_30556161的博客 219

Spring:创建Bean的几种方式

Spring支持如下三种方式创建Bean1:调用构造器创建Bean2:调用静态工厂方法创建Bean3:调用实例工厂方法创建Bean调用构造方法创建Bean是最常用的一种情况Spring容器通过new关键字调用构造器来创建Bean实例,通过class属性指定Bean实例的实现类,也就是说,如果使用构造器创建Bean方法,则&lt;bean/&gt;元素必须指定class属性,其实Spring容器也就...

gaoyong_stone的博客 290
上一篇: Java 帝国之Java bean (上)
下一篇: Android 为什么选择了Java
码农翻身
码农翻身 《码农翻身》作者 《码农翻身》作者
博客等级 码龄8年 3万+粉丝 1084原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值