java bean工厂_从零构建轻量级Java Web框架
Bean工厂
回顾下前面的知识,通过加载配置文件获取应用基础包名,加载基础包名下所有的类,获取Controller,Service类。到目前为止,我们只是加载了类,但是无法通过获取的类来实例化对象。因此需要一个反射工具,来实例化类。
创建一个Bena工厂,来生产(实例化Bean类对象)Bean。newInstance()方法,实例化目标类;invokeMethod()通过反射机制来调用类中的方法;setField()通过反射机制为类成员遍历赋值。
//Bean工厂
public class BeanFactory {
/**
* 创建实例
*
* @param clazz
* @return
*/
public static Object newInstance(Class> clazz) {
Object instance;
try {
instance = clazz.newInstance();
} catch (Exception e) {
throw new RuntimeException(e);
}
return instance;
}
/**
* 方法调用
*
* @param obj
* @param method
* @param args
* @return
*/
public static Object invokeMethod(Object obj, Method method, Object... args) {
Object result;
try {
method.setAccessible(true);
result = method.invoke(obj, args);
} catch (Exception e) {
throw new RuntimeException(e);
}
return result;
}
/**
* 设置成员变量值
*
* @param obj
* @param field
* @param value
*/
public static void setField(Object obj, Field field, Object value) {
try {
field.setAccessible(true);
field.set(obj, value);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
java bean工厂_从零构建轻量级Java Web框架相关推荐
- java bean工厂_工厂bean和bean工厂
FactoryBean(工厂bean):是bean的加工工厂,是对已知Bean的加工,是一个接口,要实现三个方法: ① Object getObject()可以对bean进行加工添加功能. ② Cla ...
- java web 模型,从零构建轻量级Java Web框架
模型数据与视图 在处理请求时,通常会返回视图JSP页面和数据.所以现在需要将视图JSP路径和数据封装在一起返回.如果只返回数据,则返回JSON格式数据. 返回视图JSP,视图中包含视图JSP路径和视图 ...
- 《从零构建前后分离web项目》:开篇 - 纵观WEB历史演变
开篇 : 纵观WEB历史演变 在校学习和几年工作工作中不知不觉经历了一半的 WEB 历史演变.对近几年的发展比较了解,结合经验聊聊 WEB 发展历史. 演变不易,但也是必然,因为为人始终要进步. WE ...
- 【JAVA学习】1、零基础入门Java 基础语法:概念、规则、格式
[JAVA学习]1.零基础入门Java 基础语法 前言 JAVA开发环境选择 Java 基础概念 Java 标识符 Java修饰符 基础代码模板框架 命名规则 基础规则 后端开发规则 代码格式 前言 ...
- 从零构建神经网络-不使用框架(纯纯手撕)
一.从零构建神经网络-不使用框架(纯手撕) 神经网络从0开始 动手从零开始实现一个神经网络,不使用框架,一步一步推理应该可以加深一下对神经网络的理解. 网络结构为三层全连接网络,节点个数依次为784. ...
- 使用Python开发轻量级的Web框架以及基于WSGI的服务器来实现一个网站页面
说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 目录 一丶项目说明 二丶数据准备 三丶使用网络TCP开发一个基于WSGI协议的Web服务器 四丶使用python3开发一个轻量级的 ...
- javame学习_从零基础自学Java教程:648集全网最新Java学习教程,一学就会
我们都知道Java的功能非常的强大,Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即J ...
- 零基础学java web开发_从零基础学Java成为一个专业的java web 开发者
原标题:从零基础学Java成为一个专业的java web 开发者 "我怎么才能成为一个Java Web开发者?"对于这个问题,答案其实并不简单.成为一个Java Web开发人员包括 ...
- java基础不好框架能学会吗_转行Java能学会吗?零基础学习Java的学习路线
Java的跨平台性.通用性.安全性.高效性决定了这门语言在未来10年都会是最热门的语言之一.Java技术的安全性和平台移植性足够让他应用到不同的领域,它的工作需求足够大,现实一点来说即使Java濒临o ...
最新文章
- mysql longtext可以存储多少文字_MySQL 四万字精华总结 + 面试100 问,和面试官扯皮绰绰有余(收藏系列)
- 【怎样写代码】确保对象的唯一性 -- 单例模式(二):解决方案
- html5media 网页播放视频,html5media 在IE8播放视频黑屏
- 【干货】JS版汉字与拼音互转终极方案,附简单的JS拼音输入法
- 深度学习入门:Day-11_CNN
- 俄罗斯方块C++代码(转载他人代码)
- hadoop组件官方源和国内源
- JavaWeb中的四大作用域
- 使用Python调整图片尺寸(大小)
- 使用树莓派与微信公众平台对接(python)
- 草料生成app自动下载的二维码
- 中考计算机易错知识点,【中考备考】易错知识点归类
- 无法安装 cloudera-manager-agent
- 补题系列 1 最小布线
- 证券投资的运作与市场主体
- PCL:交互点选点云
- 梯度下降法实战案例(波士顿房价)
- 【BDTC 2016】大数据云服务论坛:云上的大数据探索
- 基于JavaSwing开发画图软件 课程设计 小作业 大作业源码
- JS红宝书·读书笔记