SpringBoot快速入门3-依赖注入

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

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

创建MyComponent,使用@Component

1
2
3
4
5
6
7
8
9
10
import org.springframework.stereotype.Component;

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

创建MyController,使用@Controller

1
2
3
4
5
6
7
8
9
10
import org.springframework.stereotype.Controller;

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

创建MyRepository,使用@Repository

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

创建MyService,MyServiceImpl,使用@Service

1
2
3
4
public interface MyService
{
void doSomeThing();
}
1
2
3
4
5
6
7
8
9
10
11
12
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编写对应的单元测试来验证是否可以成功注入

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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/SpringBoot-DI