转载

Spring杂记

微信突然很久没有联系的小码(注意下隐私)头像晃动了,打开看了看。立马内容写到“涛哥,帮我看个问题呗,折腾了半天没有看明白设问题。”。小A是之前我的朋友,转行做的java开发,我的java知识基本停留在2008年大学毕业前给老师做过的项目。毕业后一直从事C、PHP、Golang开发。N年没有接触过Java项目了,所以先是婉言拒绝了,他说应该是个很简单的问题,紧接着把项目打包发给我了。只好硬着头皮倒入了项目看了看,下面把代码简化下,大家看看这个很简单的代码。

这是一个spring项目,首先看下beans.xml

<bean id="textEditor" class="TextEditor">

<constructor-arg ref="spellChecker"/>

</bean>

<bean id="spellChecker" class="SpellChecker"></bean>

看上面的bean文件,就知道这是一个依赖注入的教程。constructor-arg参数明确指示了TextEditor这个类依赖于spellChecker类。而反过来说spellChecker类通过spring的bean文件注入到TextEditor中。

再看下TextEditor类和SpellChecker类文件

public class TextEditor {

private SpellChecker spellChecker;

public void TextEditor(SpellChecker spellChecker) {

System.out.println("Inside TextEditor constructor");

this.spellChecker = spellChecker;

}

public void checkSpelling() {

spellChecker.checkSpelling();

}

}

public class SpellChecker {

public SpellChecker() {

System.out.println("Inside SpellChecker constructor." );

}

public void checkSpelling() {

System.out.println("Inside checkSpelling." );

}

}

最后黏贴下main文件

ApplicationContext context =new ClassPathXmlApplicationContext("Beans.xml");

TextEditor te = (TextEditor) context.getBean("textEditor");

te.checkSpelling();

ok,不管咋的,我上来就运行了下,结果输入如下:

Spring杂记

写到这里,大家都copy上面的代码到自己的ide里试试:smile:

具体原因我都不好意思在这里指出了。

总结为:基础知识不够扎实吧。

原文  https://studygolang.com/articles/13857
正文到此结束
Loading...