1

spring boot使用依赖注入的方式很简单,只需要给添加相应的注解即可

  • @Service用于标注业务层组件
  • @Controller用于标注控制层组件
  • @Repository用于标注数据访问组件,即DAO组件
  • @Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。

然后在使用的地方使用@Autowired即可

创建MyComponent,使用@Component

import org.springframework.stereotype.Component;

@Component//泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
public class MyComponent
{
    public void hi(String name)
    {
        System.out.println("hi " + name + ",I am MyComponent");
    }
}

创建MyController,使用@Controller

import org.springframework.stereotype.Controller;

@Controller//用于标注控制层组件
public class MyController
{
    public void hi(String name)
    {
        System.out.println("hi " + name + ",I am MyController");
    }
}

创建MyRepository,使用@Repository

@Repository//用于标注数据访问组件,即DAO组件
public class MyRepository
{
    public void hi(String name)
    {
        System.out.println("hi " + name + ",I am MyRepository");
    }
}

创建MyService,MyServiceImpl,使用@Service

public interface MyService
{
    void doSomeThing();
}
import org.springframework.stereotype.Service;

@Service//用于标注业务层组件
public class MyServiceImpl implements MyService
{

    @Override
    public void doSomeThing()
    {
        System.out.println("i am MyServiceImpl");
    }
}

单元测试

在src/test/java/你的包名/你的项目名ApplicationTests编写对应的单元测试来验证是否可以成功注入

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest
public class DiApplicationTests
{
    @Autowired//自动注入
    private MyController myController;
    @Autowired//自动注入
    private MyRepository myRepository;
    @Autowired//自动注入
    private MyComponent myComponent;
    @Autowired//自动注入实现了该接口的bean
    private MyService myService;

    @Test
    public void contextLoads()
    {
        myController.hi("lierabbit");
        myRepository.hi("lierabbit");
        myComponent.hi("lierabbit");
        myService.doSomeThing();
    }

}

运行测试用例
图片描述
显示红圈的4句话证明成功注入

源码地址:https://github.com/LieRabbit/...
原文地址:https://lierabbit.cn/2018/01/...


LieRabbit
920 声望2.6k 粉丝

有些梦虽然遥不可及,但并不是不可能实现,只要我足够的强