package com.bpp.beans;
public class EmpBean {
String name;
String id;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public void initempbean()
{
System.out.println("inside initempbean");
}
public void destroyempbean()
{
System.out.println("inside destroyempbean");
}
}
package com.bpp.beans;
public class Person {
String name;
String id;
EmpBean empBean;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public EmpBean getEmpBean() {
return empBean;
}
public void setEmpBean(EmpBean empBean) {
this.empBean = empBean;
}
public void initperson()
{
System.out.println("inside init personnnnnnn");
}
public void destroyperson()
{
System.out.println("inside destroy personnnn");
}
}
package com.bpp.beans;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;
public class EmpPostProcessor implements BeanPostProcessor {
@Override
public Object postProcessAfterInitialization(Object bean, String arg1)
throws BeansException {
System.out.println("inside bean pp after initialization");
return null;
}
@Override
public Object postProcessBeforeInitialization(Object bean, String arg1)
throws BeansException {
System.out.println("inside bean pp before initialization");
return null;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:c="http://www.springframework.org/schema/c"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<bean class="com.bpp.beans.EmpPostProcessor"/>
<bean id="emp" class="com.bpp.beans.EmpBean" init-method="initempbean" destroy-method="destroyempbean">
<property name="name" value="sanjay"/>
<property name="id" value="44"/>
</bean>
<bean id="person" class="com.bpp.beans.Person" init-method="initperson" destroy-method="destroyperson">
<property name="name" value="sanju"/>
<property name="id" value="77"/>
<property name="empBean" ref="emp"/>
</bean>
</beans>
package com.bpp.main;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.bpp.beans.Person;
public class BppMain {
public static void main(String[] args) {
ApplicationContext context=new ClassPathXmlApplicationContext("com/bpp/commons/application-context.xml");
Person obj=context.getBean("person",Person.class);
System.out.println("the value of name is:"+obj.getName());
}
}
在创建emp bean时,异常为空指针异常
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'emp' defined in class path resource [com/bpp/commons/application-context.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464) at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:139) at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:83) at com.bpp.main.BppMain.main(BppMain.java:12) Caused by: java.lang.NullPointerException at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1537) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1522) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452) ... 12 more
在Spring中,为后处理后初始化
和后处理前初始化
编写文档:
返回:要使用的bean实例,可以是原始实例,也可以是包装的实例
因为您在这些方法中什么都不做,所以您应该返回作为参数传递的Object
,这是bean的实例。
问题内容: 我有一个非常简单的应用程序,它只是一个带有选项卡视图的活动。 我已经初始化并将所有内容强制转换为应有的值,但是不断出现空指针错误,该错误始终链接回 tabHost.setup(); 我正在使用android studio,并且是java的新手。这个问题在这里已经问了很多,但所有答案都只是说要包含setup(),而我已经做到了。 这是我的.java文件: 我的代码和一些在线教程之间的唯一
我有以下方法: 租户数据库服务。findTenantById(tenantId)返回可选的: 当为null时,我希望抛出异常。相反,我看到正在抛出: 有什么帮助吗?
问题内容: 我正在android中做一个应用程序,因此我需要访问com.android.internal.telephony API。现在,我可以访问这些API了,但问题是,无论我在自己的类中调用Class Call.java方法的什么地方,都会抛出。您可以在http://hi- android.info/src/com/android/internal/telephony/Call.java.h
> 单击 受保护得空onPrepareDialog(int id,Dialog Dialog) 受保护的对话框onCreateDialog(int id) 如果我对timepickerdialog代码做了什么错误,请告诉我。
本文向大家介绍浅谈java异常处理之空指针异常,包括了浅谈java异常处理之空指针异常的使用技巧和注意事项,需要的朋友参考一下 听老师说,在以后的学习中大部分的异常都是空指针异常。所以抽点打游戏的时间来查询一下什么是空指针异常 一:空指针异常产生的主要原因如下: (1)当一个对象不存在时又调用其方法会产生异常obj.method() // obj对象不存在 (2)当访问或修改一个对象不存在的字段时
问题内容: 在我的appium + testng应用程序中,我输入的是: 给出以下堆栈跟踪: 似乎Appium服务器没有使用该功能成功实例化,但这几乎是在线示例的复制和粘贴-我无法弄清楚出了什么问题。 问题答案: 用if语句括住“ driver”,以了解是否== null。 这是我的能力 使用appium 1.2 *