Spring Boot快速入门(三):依赖注入

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

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

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

创建MyComponent,使用@Component

1import org.springframework.stereotype.Component; 2 3@Component//泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。 4public class MyComponent 5{ 6 public void hi(String name) 7 { 8 System.out.println("hi " + name + ",I am MyComponent"); 9 } 10}

创建MyController,使用@Controller

1import org.springframework.stereotype.Controller; 2 3@Controller//用于标注控制层组件 4public class MyController 5{ 6 public void hi(String name) 7 { 8 System.out.println("hi " + name + ",I am MyController"); 9 } 10}

创建MyRepository,使用@Repository

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

创建MyService,MyServiceImpl,使用@Service

1public interface MyService 2{ 3 void doSomeThing(); 4}
1import org.springframework.stereotype.Service; 2 3@Service//用于标注业务层组件 4public class MyServiceImpl implements MyService 5{ 6 7 @Override 8 public void doSomeThing() 9 { 10 System.out.println("i am MyServiceImpl"); 11 } 12} 

单元测试

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

1import org.junit.Test; 2import org.junit.runner.RunWith; 3import org.springframework.beans.factory.annotation.Autowired; 4import org.springframework.boot.test.context.SpringBootTest; 5import org.springframework.test.context.junit4.SpringRunner; 6 7@RunWith(SpringRunner.class) 8@SpringBootTest 9public class DiApplicationTests 10{ 11 @Autowired//自动注入 12 private MyController myController; 13 @Autowired//自动注入 14 private MyRepository myRepository; 15 @Autowired//自动注入 16 private MyComponent myComponent; 17 @Autowired//自动注入实现了该接口的bean 18 private MyService myService; 19 20 @Test 21 public void contextLoads() 22 { 23 myController.hi("lierabbit"); 24 myRepository.hi("lierabbit"); 25 myComponent.hi("lierabbit"); 26 myService.doSomeThing(); 27 } 28 29}

运行测试用例

hi lierabbit,I am MyController
hi lierabbit,I am MyRepository
hi lierabbit,I am MyComponent
i am MyServiceImpl

显示以上4句话证明成功注入

源码地址:https://github.com/LieRabbit/SpringBoot-DI

原文地址:https://lierabbit.cn/2018/01/15/SpringBoot%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A83-%E4%BE%9D%E8%B5%96%E6%B3%A8%E5%85%A5/

点赞
收藏

评论区

加载中...

相关推荐

tomcat系列之五:Tomcat各个组件生命周期

一,Tomcat中各个组件的关系1,组件有大有小,大组件管理小组件。比如Server管理Service,Service管理连接器和容器2,组件有内有外,外层组件控制内层组件。比如外层组件连接器负责对外交流,外层组件调用内层组件完成业务功能二,创建组件的顺序先创建子组件,再创建父组件,然后把子组件注入到父组件中先创建内层组件,再创建外层

Springboot中如何在Utils类中使用@Autowired注入bean

Springboot中如果希望在Utils工具类中,使用到我们已经定义过的Dao层或者Service层Bean,可以如下编写Utils类:1\.使用@Component注解标记工具类StatisticsUtils:2\.使用@Autowired(@Autowired和@Resource的区别不再介绍)注入我们需要的bean:3\.在工具类中

@Repository、@Service、@Controller 和 @Component

@Repository、@Service、@Controller(https://my.oschina.net/u/1774615)和@Component将类标识为Beanspring自2.0版本开始,陆续引入了一些注解用于简化Spring的开发。@Repository注解便属于最先引入的一批,它用于将数据访问层(DAO层)的类

Spring注解大全,汇总版

Spring使用的注解大全和解释注解解释@Controller组合注解(组合了@Component注解),应用在MVC层(控制层),DispatcherServlet会自动扫描注解了此注解的类,然后将web请求映射到注解了@RequestMapping的方法上。@Service组合注解(组合了@Component注解),应用在

1.1Spring Boot 环境配置和常用注解

SpringBoot常用注解:@Service:注解在类上,表示这是一个业务层bean@Controller:注解在类上,表示这是一个控制层bean@Repository:注解在类上,表示这是一个数据访问层bean@Component:注解在类上,表示通用bean,value不写默认就是类名首字母小写@Auto

Spring 12 种 常用注解!

1.声明bean的注解@Component组件,没有明确的角色@Service在业务逻辑层使用(service层)@Repository在数据访问层使用(dao层)@Controller在展现层使用,控制器的声明(C)2.注入bean的注解@Autowired:由Spring提供@Inj