public class PersonServiceImpl implements PersonService{
public void save(){ System.out.println("This is save for test spring"); }
public List<String> findAll(){ List<String> retList = new ArrayList<String>(); for(int i=1;i<10;i++){ retList.add("test"+i); } return retList; } }
加入spring pool <bean id="personServiceImpl" class="com.machome.testtip.impl.PersonServiceImpl" > </bean>
2.类2 autowired类1, 并且也加入spring pool
public class ProxyPServiceImpl implements ProxyPService { public void save(){ System.out.print("this is proxy say:"); personService.save(); }
public List<String> findAll(){ System.out.print("this is proxy say:"); return personService.findAll(); } @Autowired PersonService personService; }
3.直接new类2,则执行其方法时出null pointer错误
ProxyPService proxyPService = new ProxyPServiceImpl(); proxyPService.save();
执行报错: java.lang.NullPointerException at com.machome.testtip.impl.ProxyPServiceImpl.save(ProxyPServiceImpl.java:18) at com.machome.testtip.TestSpring2.testSave(TestSpring2.java:34) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)