1. @Component:这个是告知spring扫描器要扫描到这个类而后帮它建立bean。这个是放在目标bean的头部。java
1.1 @Named等同@Component,但不经常使用,能够忽略。web
2. @ComponentScan这个注解告知spring启动的时候要去扫描(扫描与本身相同包名的类)带有@Component的类帮他们建立bean!等同于XML配置的<context:component-scan>spring
3. @Configuration是时候Javaconfig方法装配bean同样代表这个类是一个配置类等同一个XML配置文件架构
4. @Bean注解的方法:实在JavaConfig中声明Bean的方式!这个是配置类中使用,是经过new返回一个第三方的实例当成spring的bean。由于咱们不能篡改别人第三方的代码!这个方法常常运用在对别人的第三方jar库进行spring依赖注入操做!在外边完成bean声明!(属于Java配置类型):那这样对应的XML类型呢?就是<bean>标签!app
@Autowired注解在属性上完成bean的注入!异步
javaConfig | XML | |
@Configuration声明的一个配置类 | 新建一个XML文件 | |
显式装备Bean | 在配置类中@Bean注解的方法new返回一个要装配的实例。 | 在XML配置文件中<bean>标签声明 |
自动扫描装备 | 1. 配置类要用@ComponentScan启动扫描进程否则不会扫描:扫描的是同一个包下的全部类学习 2.要被注入的Bean类自己要先用@Component注解声明这是一个能够被扫描发现的Beanspa |
1<context:component-scan>扫描配置的包名.net 2.要被注入的Bean类自己要先用@Component注解声明这是一个能够被扫描发现的Beancomponent |
如何被注入: | 都是@Autowired注解在属性上完成bean的注入! | 都是@Autowired注解在属性上完成bean的注入! |
@Service用于标注业务层组件
@Controller用于标注控制层组件(如struts中的action)
@Repository用于标注数据访问组件,即DAO组件
@Component泛指组件,当组件很差归类的时候,咱们可使用这个注解进行标注。
四个注解的效果都是同样的,spring都会把它们当作须要注入的Bean加载在上下文中;
可是在项目中,严格按照除@Componen的其他三个注解的含义使用在项目中。这对分层结构的web架构颇有好处!!
参考学习文章:
https://blog.csdn.net/ff906317011/article/details/78552426
https://blog.csdn.net/kobejayandy/article/details/12690161
@RequestMapping
@RequestMapping 是一个用来处理请求地址映射的注解
@ResponseBody
@Responsebody 注解表示该方法的返回的结果直接写入 HTTP 响应正文(ResponseBody)中,通常在异步获取数据时使用,一般是在使用 @RequestMapping 后,返回值一般解析为跳转路径,加上 @Responsebody 后返回结果不会被解析为跳转路径,而是直接写入HTTP 响应正文中。
@RequestBody
@RequestBody 注解则是将 HTTP 请求正文插入方法中,使用适合的 HttpMessageConverter 将请求体写入某个对象。
handler method 参数绑定经常使用的注解,咱们根据他们处理的Request的不一样内容部分分为四类:(主要讲解经常使用类型)
A、处理requet uri 部分(这里指uri template中variable,不含queryString部分)的注解: @PathVariable;
B、处理request header部分的注解: @RequestHeader, @CookieValue;
C、处理request body部分的注解:@RequestParam, @RequestBody;
D、处理attribute类型是注解: @SessionAttributes, @ModelAttribute;