欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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();
	}

}

Spring 简单案例(依赖注入)_01
            
    
    博客分类: Java Spring springjavaiocspring4.2.5spring4注解  成功咯,简单吧。