本文主要是介绍Web后端开发(分层解耦),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
分层解耦
控制反转: Inversion Of Control,简称IOC。对象的创建控制权由程序自身转移到外部(容器),这种思想称为控制反转。
依赖注入: Dependency Injection,简称DI。容器为应用程序提供运行时,所依赖的资源,称之为依赖注入。
Bean对象:IOC容器中创建、管理的对象,称之为bean。
Bean的声明
要把某个对象交给IOC容器管理,需要在对应的类上加上如下注解之一:
注解 | 说明 | 位置 |
@Component | 声明bean的基础注解 | 不属于以下三类时,用此注解 |
@Controller | @Component的衍生注解 | 标注在控制器类上 |
@Service | @Component的衍生注解 | 标注在业务类上 |
@Repository | @Component的衍生注解 | 标注在数据访问类上(由于与mybatis整合,用的少) |
注意事项
1.声明bean的时候,可以通过value属性指定bean的名字,如果没有指定,默认为类名首字母小写。
2.使用以上四个注解都可以声明bean,但是在springboot集成web开发中,声明控制器bean只能用@Controller。
Bean组件扫描
Bean注入
如果同类型的bean存在多个:
@Primary
@Service
public class EmpServiceA implements EmpService {}
@RestController
public class EmpController {@Autowired@Qualifier("empServiceA")private EmpService empService ;
}
@RestController
public class EmpController {@Resource(name = "empServiceB")private EmpService empService ;
}
@Resource 与 @Autowired区别
这篇关于Web后端开发(分层解耦)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!