# Spring中怎么用 我们在Spring中是这样获取对象的: ```java public static void main(String[] args) { ApplicationContext context = new FileSystemXmlApplicationContext("applicationContext.xml"); Lol lol = (Lol) context.getBean("lol"); lol.gank(); } ``` 一起看看Spring如何让它生效呢,在 `applicationContext.xml` 配置文件中是酱紫的: ```xml ``` `Lol` 类是这样的: ```java public class Lol { private String name; public Lol() { } public void gank(){ System.out.println(this.name + "在gank!!"); } public String getName() { return name; } public void setName(String name) { this.name = name; } } ``` 上面的代码运行结果自然是 `剑圣在gank!!`。 Spring更高级的用法,在3.0版本之后有了基于Annotation的注入实现,为毛每次都要配置 `Xml` 看到都蛋疼。。 首先还是要在 `xml` 中配置启用注解方式 ```xml ``` 这样就能使用注解驱动依赖注入了,下面是一个使用场景 ```java public class Lol { @Autowired private DuangService duangService ; public void buyDuang(String name, int money) { duangService.buy(name, money); } } ``` ```java @Service("duangService") public class DuangService { public void buy(String name, int money){ if(money > 0){ System.out.println(name + "买了" + money + "毛钱的特效,装逼成功!"); } else{ System.out.println(name + "没钱还想装逼,真是匪夷所思"); } } } ``` 这只是一个简单的例子,剑圣打野的时候想要买5毛钱的三杀特效,嗯。。虽然不符合逻辑 此时 `DuangService` 已经注入到 `Lol` 对象中,运行代码的结果(这里是例子,代码不能运行的)就是: ```sh 德玛买了5毛钱的特效,装逼成功! ``` 好了,深入的不说了,我们不是学spring的,只是知道一下ioc在spring中高大上的形象,接下来步入正轨,开始设计一个IOC容器 ## links * [目录]() * 上一节: [IOC的概念](<1.concept.md>) * 下一节: [设计一个IOC](<3.myioc.md>)