Spring常用注解
一. Spring常用注解
1.1 声明bean的注解
@Component:定义bean;
@Controller:控制层;
@Service:业务层;
@Repository:数据访问层;
@Bean:定义第三方的bean,即当前方法的返回值是一个bean;
1.2 注入bean的注解
@Autowired:由Spring提供;
@Value:注入简单数据类型,如配置文件等;
@Resource:由JSR-250提供;
@Inject:由JSR-330提供;
1.3 配置类相关注解
@Configuration:声明当前类为配置类;
@ComponentScan:对选定范围内的Bean进行扫描;
@Import:导入其他配置类 ;
@Bean:注解在方法上,声明当前方法的返回值为一个bean,替代xml中的方式
1.4 切面(AOP)相关注解
Spring支持AspectJ的注解式切面编程;
@PointCut:声明切入点;
@Before:在原始方法执行之前执行;
@After:在原始方法执行之后执行;
@Around:在原始方法执行前后都执行;
@Aspect:声明一个切面;
@EnableAspectJAutoProxy:开启Spring对AspectJ代理的支持;
1.5 事务
@Transactional:可以写在方法上,也可以写在类/接口上!(整个类/接口中的方法都开启事务!)
二. SpringMVC常用注解
2.1 开启MVC
@EnableWebMvc:在MVC配置类中开启Web MVC的配置支持,其能自动对Json序列化反序列化,
@Controller:控制层;
@RestController:合并@ResponseBody+@Controller;
2.2 接收参数
@RequestMapping:用于映射web请求,包括访问路径和参数;
@RequestParam:接受非json格式的数据,将请求头中的参数并赋给形参;
@RequestHeader:从HTTP请求头中获取特定的请求头信息,并将其绑定到方法的参数上
@RequestBody:一般是POST请求的Json数据,接收请求体中数据并赋给形参;
@PathVariable:从路径中提取参数;
合并:
@RequestMapping+POST=@PostMapping;
同理@PutMapping、@DeleteMapping、@GetMapping;
2.3 响应参数
@ResponseBody:将当前方法return的返回值放入HTTP响应报文的响应体,返回给前端;如果是对象就自动序列化为Json;
2.4 异常处理器
@RestControllerAdive:代表当前类是异常处理器;
@ExeceptionHandler:在异常类中写一个方法处理异常;
三. SpringBoot常用注解
@SpringBootApplication:SpringBoot启动类
@Scheduled(cron = "0 0 * * * "): 定时任务方法的注解,它可以标记一个方法按照特定时间计划执行;
@ConditionalOnProperty(prefix = "scan", name = "handler.move", havingValue = "true") 条件注解
prefix:属性的前缀部分。
name:属性名称。
havingValue:属性的值与 havingValue 相等时条件成立(默认不指定)。
matchIfMissing:如果属性未定义,是否加载配置(默认 false,即未定义时不加载)。
1万+

被折叠的 条评论
为什么被折叠?



