Spring常用注解-最全##

1、声明bean的注解
@Component:泛指各种组件

@Controller、@Service、@Repository都可以称为@Component

@Controller:控制层
@RestController :控制层

@Service:业务层

@Repository:数据访问层

2、注入bean的注解
@Autowired:由Spring提供
@Qualifier(value = “guke1”) 和@Autowired(required = false)配合使用,表示查找这个接口下的"gukeMapperImpl"这个实现类

@Inject:由JSR-330提供

@Resource(name = “user222”)用在调用的时候的接口上, 表示自动的查找装配这个接口下的名为"user222"的实现类,(在jdk11已被移除)

3、Java配置类相关注解
@Configuration:声明当前类为配置类

@ComponentScan(basePackages = { “com.zeyu.pojo” }):用于对Component进行扫描

@ImportResource(value = “classpath:Spring-config.xml”)(XML)可以在Java类中引入XML配置文件

@PropertySource(value = {“classpath:te.properties”},encoding = “utf-8”) 在Java中引入properties配置文件并注入到IOC容器中,通过@Value("${name}")来取,可配置多个配置文件

@Bean:注解在方法上,声明当前方法的返回值为一个bean,替代xml中的方式
@Bean的属性支持
@Scope设置类型包括:设置Spring容器如何新建Bean实例
Protetype:每次调用新建一个bean
Request:web项目中,给每个http request新建一个bean
Session:web项目中,给每个http session新建一个bean
GlobalSession:给每一个 global http session新建一个Bean实例
Singleton:单例,一个Spring容器中只有一个bean实例,默认模式

4、切面(AOP)相关注解Spring支持AspectJ的注解式切面编程
@Aspect:声明一个切面

@After:在方法执行之后执行(方法上)

@Before:在方法执行之前执行(方法上)

@Around:在方法执行之前与之后执行(方法上)

@PointCut:声明切点

@EnableAspectJAutoProxy:开启Spring对AspectJ代理的支持

6、@Value注解
注入普通字符、注入操作系统属性、注入表达式结果、注入其它bean属性、注入文件资源、注入网站资源、注入配置文件

7、环境切换
@Profile:指定组件在哪个环境的情况下才能被注册到容器中,不指定,任何环境下都能注册这个组件。
@Conditional:通过实现Condition接口,并重写matches方法,从而决定该bean是否被实例化。

8、异步相关
@EnableAsync:配置类中通过此注解开启对异步任务的支持

@Async:在实际执行的bean方法使用该注解来声明其是一个异步任务(方法上或类上所有的方法都将异步,需要@EnableAsync开启异步任务)

9、定时任务相关
@EnableScheduling:在配置类上使用,开启计划任务的支持

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

10、Enable***注解说明
@EnableAspectAutoProxy:开启对AOP AspectJ自动代理的支持

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

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

@EnableWebMvc:开启web MVC的配置支持

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

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

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

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

11、SpringMVC常用注解
@EnableWebMvc:在配置类中开启Web MVC的配置支持

@Controller :标名这个类是控制类

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

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

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

@PathVariable:用于接收路径参数,比如@RequestMapping(“/hello/{name}”)声明的路径,将注解放在参数前,即可获取该值,通常作为Restful的接口实现方法。

@RestController:该注解为一个组合注解,相当于@Controller和@ResponseBody的组合,注解在类上,意味着,该Controller的所有方法都默认加上了@ResponseBody。

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

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

@InitBinder:用来设置WebDataBinder,WebDataBinder用来自动绑定前台请求参数到Model中

12,其他常用注解
容器初始化时执行,注解添加在方法上,需要所在类是spring管理的Bean
@PostConstruct

容器关闭时执行,注解添加在方法上,需要所在类是spring管理的Bean
@PreDestory

@CrossOrigin 开启对跨域的支持,此注解放在类上,则本类所有方法都支持跨域,放在方法上,则本方法支持跨域

@SpringBootApplication 指定当前类是启动类

@MapperScan(“com.rems.mapper”) 指定Mapper接口所在位置,不然Spring扫描不到

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值