本文共 3832 字,大约阅读时间需要 12 分钟。
???????????????????????????????????????????????????????????? Java ?????????????????????????
???????
????????????????????????????????????????????????????????????????????????????????????????
???????????????????????????????????????
public class Xiaoer { public void saodi() { System.out.println("??????????"); }}public class Laowang { public void mingling() { new Xiaoer().saodi(); }} ?????????
public class Test { public static void main(String[] args) { Laowang laowang = new Laowang(); laowang.mingling(); }} ???????Laowang ?? mingling ????? new ???????? Xiaoer ?????????????????????
??????????????????????????????????????
public class Xiaosan { public void saodi() { System.out.println("??????????"); }}public class Laowang { public void mingling() { new Xiaoer().saodi(); } public void mingling1() { new Xiaosan().saodi(); }} ??????????????????????????????????????????????????
????????
??????????????????????????????????????????????????????
????????????????
public interface Heshang { void saodi();} ??????????
public class Xiaoer implements Heshang { @Override public void saodi() { System.out.println("??????????"); } public boolean isYijinjing() { return false; }} ??????????
public class Xiaosan implements Heshang { @override public void saodi() { System.out.println("??????????"); }} ????????????
public class Laofang { public static Heshang getSaodiseng() { Xiaoer xiaoer = new Xiaoer(); if (xiaoer.isYijinjing()) { return new Xiaosan(); } return xiaoer; }} ???????????????
public class Laowang { public void mingling() { Laofang.getSaodiseng().saodi(); }} ?????????????????????????????????????Inversion of Control?IoC????????????????????????
????????
?????Dependency Injection??? DI??????????????????????? A ????????????? B ?????????????????????????????????????????
public class Laowang { private Heshang saodiseng; public Laowang(Heshang saodiseng) { this.saodiseng = saodiseng; } public void mingling() { this.saodiseng.saodi(); }} - ?? set ?????????? public set ?????????????????????
- ??????????????????????????????????????????????
-
????????????????????????????????????????????????????
-
?????????????????????????set ???????????????????????
-
Spring ????????????????????????????????????????
public class Laowang { private Heshang saodiseng; public Heshang getSaodiseng() { return saodiseng; } public void setSaodiseng(Heshang saodiseng) { this.saodiseng = saodiseng; } public void mingling() { this.getSaodiseng().saodi(); }} ????????????????????????????????????????
??? Spring ???
?????????????????????????? Spring ???Spring ???????????????????????????????set ?????????????????????
???? pom.xml ????? Spring ?????
org.springframework spring-context-support 4.3.2.RELEASE
???? Laowang ?????
public class Laowang { private Heshang saodiseng; public Laowang(Heshang saodiseng) { this.saodiseng = saodiseng; } public void mingling() { this.saodiseng.saodi(); }} ???? Spring ???? application.xml?
?????????????????????????????????????
??????????
public class Test { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("application.xml"); Laowang laowang = (Laowang) context.getBean("laowang"); laowang.mingling(); }} ????????????? IoC ?? Spring????????????????
????
?????????????????????????????????? Spring ???????
发表评论
最新留言
关于作者