Spring的@注解回顾
spring
- 简单粗暴介绍:使用注解的类都是交给spring管理,需要spring实例化出bean对象,这样才能调用对应实例方法处理前端需求。
- 于是可以发现serviceImpl,controller以及配置类的类名上面都是带@注解的
spring中的bean都是项目装配启动时要实例化的bean,这样才能使用bean调用实例化方法提供服务。 - 任何框架都是先运行配置文件,该实例化实例化,该注入注入,该配置配置之后再通过前端触发进行使用,凡是所写类只有实例化才能使用对应的实例方法。
- 只有spring可以使用注解进行实例化bean,其余框架都需要基于spring(被spring整合)才能使用注解,而使用注解的类都要在项目装配启动加载到内存时实例化然后提供服务。
- java网站开发(请求-响应模型):url触发Controllerbean然后调用实例方法从而进行逻辑处理最后返回结果,而框架会根据设置的单例或者多例进行bean的管理。
例如: @Controller,只有项目启动时提前实例化bean才能对前端传递的需求进行处理。 @Service,在serviceImpl层添加注解,service层为接口层无需添加注解,注入的时候会将实现service层的Impl层注入。 Spring Boot 是 Spring 的一套快速配置脚手架,本质上SpringBoot就是Spring
SpringBoot,SpringMVC和Spring的关系
- Spring Boot 是 Spring 的一套快速配置脚手架,本质上SpringBoot就是配置好的Spring。Spring Boot 使用了默认大于配置的理念,很多集成方案已经帮你选择好了,能不配置就不配置。
- SpringBoot是配置好的Spring所以可以快速整合其余Spring可以整合的(SSM,SSH等)框架(导入依赖就行)因此就有了脚手架称号。
- SpringMVC就是管理controller对象的容器,Spring就是管理service和dao对象的容器,两者都存在于一个Spring开源框架。
SpringMVC基于Servlet
注解类型
后期间添加:启动类注解和MVC上注解的区别 一种是和@Autowired搭配,例如:@Service 另一种是注解即需实例化,例如:@Controller 还有一种是注解起配置作用,例如:@MapperScan
@Autowired无法注入,异常:NullPointerException: null
- @Autowired为自动装配,将对象自动注入到类中使用.
- @Autowired注意事项:Autowired注入对象时,需要确保对应的对象已经被实例化出来即对应对象的类已被注解或者spring配置文件已经将其实例化。
- @Autowired注入有两个条件,被注入的类的对象交给了spring管理(注解或者spring配置文件);同时使用@Autowired的类的对象也要交给spring管理.两个条件都满足才能注入(注解或者spring配置文件).
- serviceImpl层还有controller层类名上都有spring@注解.
@MapperScan
作用:指定要变成实现类的接口所在的包,然后包下面的所有接口在编译之后都会生成相应的实现类。 配置扫描的是java接口不是xml文件,而maven默认不扫描xml文件,需要单独配置maven扫描xml文件。 @MapperScan注解
|