Spring 简单案例(依赖注入)_01 博客分类: Java Spring springjavaiocspring4.2.5spring4注解
程序员文章站
2024-02-06 19:06:16
...
Spring ioc 依赖注入注解篇
下面是配置文件,配置了spring的扫描路径,不配置这个注解不起作用。
package com.expect.oa.config; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @Configuration @ComponentScan("com.expect.oa.*") //@ComponentScan(basePackages={"com.expect.oa.DI.*","com.expect.oa.DI2.*"}) //多个包可以这样写,这相当于在XML里配置了自动扫描 public class SpringConfig { }
这是一个接口:
package com.expect.oa.DI.interfaces; public interface InterA { void action1 (); }
下面声明一个简单的类,继承了上面的借口:
package com.expect.oa.DI; import org.springframework.stereotype.Component; import com.expect.oa.DI.interfaces.InterA; @Component("interAImpl") //@Named("interAImpl")同样的效果 public class CompA implements InterA{ @Override public void action1() { // TODO Auto-generated method stub System.out.println("spring DI"); } }
下面是测试代码:
package com.expect.oa.test; import javax.annotation.Resource; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import com.expect.oa.DI.interfaces.InterA; import com.expect.oa.config.SpringConfig; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = {SpringConfig.class}) public class TestSpringDI { //个人建议给每个组件都起名。 @Resource(name="interAImpl") //@Autowired 同样的效果 InterA aService; //这里是测试依赖注入 @Test public void testDI() { aService.action1(); } }
成功咯,简单吧。
上一篇: 淘集集想做"哥伦布" 但五环外却已经不是"新大陆"
下一篇: 电脑开机经常弹出多个网页窗口该怎么办?