根据JDK说明,先说说这几个class的用途:
1.Introspector
通过这个类可以分析Bean的类和超类,寻找显式和隐式信息
方法:Introspector.flushCaches() 刷新所有 Introspector 的内部缓存
(详细见JDK-API)
2.BeanInfo
API解释:"希望提供有关其 bean 的显式信息的 bean 实现者可以提供某个 BeanInfo 类,该类实现此 BeanInfo 接口并提供有关其 bean 的方法、属性、事件等显式信息。 "
3.PropertyDescriptor
描述 Java Bean 通过一对存储器方法导出的一个属性,通俗点就是Bean中的方法
简单的Bean操作代码如下:
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
LoaderClass c = new LoaderClass();
TestBean t = (TestBean) c.setBean();
System.out.println("age:"+t.getAge());
System.out.println("id:"+t.getAge());
System.out.println("name:"+t.getAge());
}
public Object setBean() throws Exception{
Object t = null;
try {
t = TestBean.class.newInstance();
} catch (InstantiationException e1) {
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
}
BeanInfo info = Introspector.getBeanInfo(TestBean.class);
PropertyDescriptor[] pro = info.getPropertyDescriptors();
for(int a=0;a<pro.length;a++){
if(pro[a].getName().equals("class")){
continue;
}
Method method = pro[a].getWriteMethod();
Object[] param = new String[]{"A"};
System.out.println(method.getName());
try {
method.invoke(t, param);
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
return t;
}
分享到:
相关推荐
一般情况下,在写一个Bean时,我们都要写上getXX和setXX方法,这样在读取和写入对象属性值时很方便,但有些场合下,比如动态访问Java对象属性时,上面的写法就不合适了,这样的一些场景例如: 1、当创建脚本语言与...
正确的写法应该是: ```sql SELECT u.name, s.subject, s.score FROM user AS u LEFT JOIN score AS s ON u.userid = s.userid WHERE u.userid = 1; ``` 2. **查询结果**:这条SQL语句将返回用户ID为1的学生...
在Java Web开发中,Spring和MyBatis是两个非常重要的框架。Spring是一个全面的后端开发框架,提供了依赖注入、AOP(面向切面编程)、事务管理等功能;而MyBatis则是一个轻量级的持久层框架,它将SQL与Java代码分离,...
在Java应用中,事务是保证数据一致性和完整性的重要机制之一。Spring提供了对事务的一致性支持,能够简化开发人员对事务处理的操作,同时也确保了应用逻辑与事务管理之间的解耦。 ### 配置...
单例模式有八种写法java.lang.Runtime单例工具类对象,平凡访问数据库或文件对象 原型模式创建一摸一样对象,使用clone spring多例bean创建。 org.springframework.beans.factory.support.AbstractBeanFactory#...
在第一种写法中,我们使用了AbstractDependencyInjectionSpringContextTests这个抽象类,该类提供了对Spring的支持,可以自动装配 Beans 和加载ApplicationContext。下面是一个示例代码: ```java public class ...
2. **熟悉配置文件**:掌握XFire配置文件的写法对于正确部署服务至关重要。 3. **测试与调试**:利用工具进行单元测试和服务调用测试,确保服务按预期工作。 4. **安全性考虑**:在实际部署中,需考虑服务的安全性...
以下是使用Spring 4.0泛型限定后的新Service写法: ```java package com.dxz.demo.generic.service.new; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype...
13. **EJB2.0:**EJB2.0包含Session Beans、Entity Beans和Message-Driven Beans,主要用于企业级应用,提供事务、安全性、持久化等功能。EJB2.0相比EJB1.1增加了容器管理的持久化(CMP)等特性。 14. **MVC架构:**...
2. EJB(Enterprise Java Beans): EJB是Java中用于构建分布式、事务处理和安全的服务器端应用程序的组件模型。主要有三种类型: - Entity Bean:用于表示持久化的业务对象,与数据库记录对应。 - Session Bean...
【Java面试宝典】是针对Java开发者准备面试的资料,涵盖了Java面试中常见的知识点,包括但不限于EJB(Enterprise Java Beans)、RMI(Remote Method Invocation)等。以下是对这些知识点的详细解析: 1. **EJB ...
本示例将带你深入了解Struts1.3的配置文件写法和调用方式,这对于初学者来说是非常基础且重要的知识。 ### 1. Struts1.3配置文件 Struts1.3的主要配置文件是`struts-config.xml`,它定义了Action、Form Bean、Data...
nested exception is org.springframework.beans.NotWritablePropertyException` 此类错误通常发生在尝试设置一个不可写的属性值时。具体而言,当Spring容器试图通过setter方法将一个bean注入到另一个bean中时,...
3. Spring框架的库:spring-context-x.x.x.jar、spring-beans-x.x.x.jar、spring-jdbc-x.x.x.jar等,用于支持SpringMVC和MyBatis的协同工作。 4. 可能还有其他的依赖库,如slf4j日志库、mysql-connector-java.jar...
- **知识点**: CSS 选择器的正确写法。 - **细节**: 正确的 CSS 语法是 `body { color: black; }`(选项 C 正确)。 ### 19. 逻辑表达式的优先级 - **知识点**: 逻辑表达式中的运算符优先级。 - **细节**: 逻辑...
而`RD\A\C\B`用于删除目录,`TYPE\A\C\B\ABC.C`用于显示文件内容,`TYPEC\B\ABC.C`同样用于显示文件内容但路径写法不规范。 ### 8. 数据模型 - **关系模型**:使用二维表格形式表示实体及其关系的数据模型被称为...
<constructor-arg type="java.lang.String" value="lizjason"/> ``` 这种做法不仅提高了配置的准确性,也使得配置文件更加易于理解和维护。 #### 五、使用抽象Bean共享配置信息 通过将某些公共配置信息定义在...
- 在Struts-config.xml中,使用`<form-beans>`和`<action-mappings>`标签来配置表单bean和action映射。 2. **JSP中的注释**: - JSP支持两种注释方式:标准的HTML注释`<!-- -->`和隐藏注释`<%-- --%>`。其中,...
- JSP 引擎将这些数据传递给指定的服务器端组件(如 JavaBeans、Servlet 或 Enterprise Beans)。 - 服务器端组件处理数据,并根据处理结果生成响应对象(`HttpServletResponse`)。 - JSP 引擎根据响应对象的内容...