Spring 简单案例(依赖注入)_01

来源:互联网 发布:电脑软件开发培训中心 编辑:程序博客网 时间:2024/05/29 03:11
     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{@Overridepublic void action1() {// TODO Auto-generated method stubSystem.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;//这里是测试依赖注入@Testpublic void testDI() {aService.action1();}}

成功咯,简单吧。
原创粉丝点击