spring如何实现依赖注入DI(spring-test方式)

spring依赖注入DI

1、创建一个maven项目

mvn archetype:generate -DarchetypeCatalog=internal

2、修改pom.xml

引入需要的依赖,首先spring-context,还是spring-test,最后还有junit。


        UTF-8
        4.3.7.RELEASE
    
 
    
        
            junit
            junit
            4.12
            test
        
        
        
            org.springframework
            spring-context
            ${springframework.version}
        
        
        
            org.springframework
            spring-test
            ${springframework.version}
        
 
    
    
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                
                    1.8
                    1.8
                    utf-8
                
            
            
                maven-assembly-plugin
                3.0.0
                
                    
                        
                            com.xueyoucto.xueyou.App
                        
                    
                    
                        jar-with-dependencies
                    
                
                
                    
                        make-assembly 
                        package 
                        
                            single
                        
                    
                
            
        
    

3、添加类Person和Body

package com.xueyou.demo;
import org.springframework.stereotype.Component;
@Component
public class Person {
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    private String name;
}
package org.xueyou.demo;
import org.springframework.stereotype.Component;
@Component
public class Body {
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    private int id;
}

4、在配置类App中,添加ComponentScan

需要注意的是,这里需要指定扫描的包

package com.xueyou.demo;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
/**
 * Hello world!
 */
@Configuration
@ComponentScan(basePackages = {"org.xueyou.demo","com.xueyou.demo"})
public class App {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

5、新建一个测试类

package com.xueyou.demo;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.xueyou.demo.Body;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = App.class)
public class Springtest {
    @Autowired
    private Body body;
    @Autowired
    private Person person;
    @Test
    public void testBodyIsNull(){
        Assert.assertNotNull(body);
    }
    @Test
    public void testPersonIsNull(){
        Assert.assertNotNull(person);
    }
}

6、运行测试类

结果如下:

spring如何实现依赖注入DI(spring-test方式)_第1张图片

7、从运行结果中我们能看到

Person类和Student类已经被依赖注入到spring中,spring能够使用这两个类了。 

spring-test依赖无法使用问题


            org.springframework
            spring-test
            4.3.7.RELEASE
            test

去掉

test

好了,解决!以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(spring如何实现依赖注入DI(spring-test方式))