spring常用注解

声明bean的注解说明
@Component使用在类上用于实例化Bean
@Repository使用在Dao层类上用于实例化Bean
@Service使用在Service层类上用于实例化Bean
@Controller使用在Web层类上用于实例化Bean(SpringMVC中会讲到)
@Autowired使用在字段上用于根据类型依赖注入
@Qualifier结合@Autowired一起使用用于根据名称进行依赖注入
@Resource相当于@Autowired+@Qualifier,按照名称进行注入
@Bean使用在方法上,将该方法的返回值存储到Spring容器中,通常用于管理第三方类(不是自己定义的类)的bean<br /
@Value注入普通属性
@Scope标注Bean的作用范围
singleton : 唯一 bean 实例,Spring 中的 bean 默认都是单例的。
prototype : 每次请求都会创建一个新的 bean 实例。
request : 每一次 HTTP 请求都会产生一个新的 bean,该 bean 仅在当前 HTTP request 内有效。
session : 每一次 HTTP 请求都会产生一个新的 bean,该 bean 仅在当前 HTTP session 内有效。
@PostConstruct使用在方法上标注该方法是Bean的初始化方法
@PreDestroy使用在方法上标注该方法是Bean的销毁方法
@Transactional在需要进行事务控制的类或是方法上开启事务
@Configuration用于指定当前类是一个 Spring配置类,当创建容器时会从该类上加载注解
@ComponentScan用于指定Spring在初始化容器时要扫描的包。
作用和在Spring的xml配置文件中的 <context:component-scan base-package=“com.qfedu” />一样。
@PropertySource用于加载.properties文件中的配置
@Import用于导入其他配置类
@MapperScan扫描特定包下的mapper
@EnableTransactionManagement配置事务的注解驱动
@runWith–@RunWith就是一个运行器
–@RunWith(JUnit4.class)就是指用JUnit4来运行
–@RunWith(SpringJUnit4ClassRunner.class),让测试运行于Spring测试环 境,以便在测试开始的时候自动创建Spring的应用上下文
–@RunWith(Suite.class)的话就是一套测试集合

springMVC常用注解

注解说明
@Controller指定这是一个控制器类,这个注解的作用和@Component作用是一样的,用来配置bean让Spring容器进行管理。配置了@Controller注解之后,需要在SpringMVC配置文件中配置:

< bean class=“com.host.app.web.controller.MyController”/>

< context:component-scan base-package = “com.host.app.web” />//路径写到controller的上一层
@RequestMapping用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
这个知识普通形式,当然还有rest风格,比如 @PostMapping,@GetMapper等等
@PathVariable用于将请求URL中的模板变量映射到功能处理方法的参数上,即取出uri模板中的变量作为参数。
@requestParam@requestParam主要用于在SpringMVC后台控制层获取参数,类似一种是request.getParameter(“name”)
它有三个常用参数:defaultValue = “0”, required = false, value = “isApp”;defaultValue 表示设置默认值,required 铜过boolean设置是否是必须要传入的参数,value 值表示接受的传入的参数类型。
@ResponseBody返回的数据不是html标签的页面,返回json时使用
@RequestHeader接受请求 也就是地址栏?name=1中的那么的值
@CookieValue接受cookit 的值
@RequestBody接受请求体的内容
@RequestHeader接受请求头的信息
全局异常处理说明
@ControllerAdvice包含@Component。可以被扫描到。统一处理异常。
@ExceptionHandler(Exception.class)用在方法上面表示遇到这个异常就执行以下方法。

springboot常用注解

注解说明
@SpringBootApplication申明让spring boot自动给程序进行必要的配置,这个配置等同于:
@Configuration ,@EnableAutoConfiguration 和 @ComponentScan 三个配置。
– @SpringBootConfiguration:标注当前类是配置类,这个注解继承自@Configuration。并会将当前类内声明的一个或多个以@Bean注解标记的方法的实例纳入到srping容器中,并且实例名就是方法名。
– @EnableAutoConfiguration:是自动配置的注解,这个注解会根据我们添加的组件jar来完成一些默认配置,我们做微服时会添加spring-boot-starter-web这个组件jar的pom依赖,这样配置会默认配置springmvc 和tomcat。
– @ComponentScan:扫描当前包及其子包下被@Component,@Controller,@Service,@Repository注解标记的类并纳入到spring容器中进行管理。等价于context:component-scan的xml配置文件中的配置项。
@SpringBootTest一般配合@RunWith(SpringJUnit4ClassRunner.class)使用
@SpringBootTest替代了spring-test中的@ContextConfiguration注解,目的是加载ApplicationContext,启动spring容器。
使用@SpringBootTest时并没有像@ContextConfiguration一样显示指定locations或classes属性,原因在于@SpringBootTest注解会自动检索程序的配置文件,检索顺序是从当前包开始,逐级向上查找被@SpringBootApplication或@SpringBootConfiguration注解的类。

更多推荐

spring,springMVC,springBoot常用注解