liuyulin
发布于 2024-02-02 / 80 阅读
0
0

Spring

Spring

注解

  • 要记得在xml文件中添加context约束

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">
  • 还要记得加入context支持

<context:annotation-config/>
  • 使用component-scan扫描特定的包 使其中的注解生效

<context:component-scan base-package="com.example.demo"/>
  • 给容器中注入的注解

    • @Component:泛指各种组件

    • @Controller:控制层

    • @Service:业务层

    • @Repository:数据访问层

    • @Bean:导入第三方包里的注解

    • @Import(要导入到容器中的组件)

    • @Configuration:声明当前类为配置类

    • @ComponentScan:扫描配置

  • 注入bean的注解

    • @Autowired:自动注入 可以用在变量,setter方法,构造函数上

    • @Inject 和 @Resource 都是自动注入

    • @Autowired、@Inject是默认按照类型匹配的,@Resource是按照名称匹配的

    • @Autowired如果需要按照名称匹配需要和@Qualifier一起使用 @Inject和@Name一起使用

    • @Primary:让spring进行自动装配的时候,默认使用首选的bean,和@Qualifier一个效果

  • 切面相关

    • @Aspect:声明一个切面

    • @After:在方法执行之后执行

    • @Before:在方法执行之前执行

    • @Around:在方法执行之前与之后执行

    • @PointCut:声明切点

  • Web相关

    • @RequestMapping:用于映射web请求,包括访问路径和参数

    • @RequestBody:允许request的参数在request体内,而不是在直接连接的地址后面

    • @ResponseBody:支持将返回值放到response内,而不是一个界面,通常用户返回json数据

    • @PathVariable:用于接收路径参数,比如@RequestMapping(".....")声明的路径,将注解放在参数前,即可获取该值,通常作为Restful的接口实现方法

    • @RestController:@Controller和@ResponseBody的组合注解,意味着,该Controller的所有方法都默认有@ResponseBody

    • @ControllerAdvice:全局异常处理,全局数据绑定,全局数据预处理

    • @ExceptionHandler:用于全局处理控制器的异常

  • 事务

    • @Transactional:注解在类级别时,表示所有该类的公共方法都配置相同的事务属性

  • 定时任务相关

    • @EnableScheduling:在配置类上使用,开启计划任务的支持

    • @Scheduled:来申明这是一个任务,包括cron,fixDelay,fixRate等类型(方法上需要先开启计划任务的支持)

  • Enable**注解

    • @EnableAspectAutoProxy:开启对AspectJ自动代理的支持

    • @EnableAsync:开启异步方法的支持

    • @EnableScheduling:开启计划任务的支持

    • @EnableWebMvc:开启webMVC的配置支持

    • @EnableConfigurationProperties:开启对@ConfigurationProperties注解配置Bean的支持

    • @EnableJpaRepositories:开启对SpringData JPA Repository的支持

    • @EnableTransactionManagement:开启注解式事务的支持

    • @EnableCaching:开启注解式的缓存支持


评论