Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
@Bean
public ColorFactoryBean colorFactoryBean(){
return new ColorFactoryBean();
}
//创建一个spring定义的FactoryBean
public class ColorFactoryBean implements FactoryBean {
//返回一个Color对象,并将Color添加到容器中
public Color getObject() throws Exception {
System.out.println(“ColorFactoryBean,getObject()”);
return new Color();
}
public Class<?> getObjectType() {
return Color.class;
}
public boolean isSingleton() {
return false;
}
}
2、注入bean的注解
@Autowired:由bean提供
@Autowired可以作用在变量、setter方法、构造函数上;
有个属性为required,可以配置为false;
@Inject:由JSR-330提供
- @Inject用法和@Autowired一样。
@Resource:由JSR-250提供
@Autowired、@Inject是默认按照类型匹配的,@Resource是按照名称匹配的,@Autowired如果需要按照名称匹配需要和@Qualifier一起使用,@Inject和@Name一起使用。
@Primary
让spring进行自动装配的时候,默认使用首选的bean,和@Qualifier一个效果。
3、@JsonIgnore
(1)作用
在json序列化时将java bean中的一些属性忽略掉,序列化和反序列化都受影响。
(2)使用方法
一般标记在属性或者方法上,返回的json数据即不包含该属性。
(3)注解失效
如果注解失效,可能是因为你使用的是fastJson,尝试使用对应的注解来忽略字段,注解为:@JSONField(serialize = false),使用方法一样。
4、初始化和销毁方法
(1)通过@Bean(initMethod=“init”,destoryMethod=“destory”)方法
(2)通过bean实现InitializingBean来定义初始化逻辑,DisposableBean定义销毁逻辑
(3)可以使用JSR250:@PostConstruct:初始化方法;@PreDestory:销毁方法。
(4)BeanPostProcessor:bean的后置处理器,在bean初始化前后进行一些处理工作
postProcessBeforeInitialization:在初始化之前工作;
postProcessAfterInitialization:在初始化工作之后工作;
5、Java配置类相关注解
@Configuration
声明当前类为配置类;
@Bean
注解在方法上,声明当前方法的返回值为一个bean,替代xml中的方式;
@ComponentScan
用于对Component进行扫描;
6、切面(AOP)相关注解
Spring AOP详细介绍
Spring支持AspectJ的注解式切面编程。
@Aspect 声明一个切面
@After 在方法执行之后执行(方法上)
@Before 在方法执行之前执行(方法上)
@Around 在方法执行之前与之后执行(方法上)
@PointCut 声明切点
在java配置类中使用@EnableAspectJAutoProxy注解开启Spring对AspectJ代理的支持
7、@Bean的属性支持
@Scope设置类型包括:
设置Spring容器如何新建Bean实例(方法上,得有@Bean)
① Singleton
(单例,一个Spring容器中只有一个bean实例,默认模式),
② Protetype
(每次调用新建一个bean),
③ Request
(web项目中,给每个http request新建一个bean),
④ Session
(web项目中,给每个http session新建一个bean),
⑤ GlobalSession
(给每一个 global http session新建一个Bean实例)
8、@Value注解
(1)支持如下方式的注入:
注入普通字符
注入操作系统属性
注入表达式结果
注入其它bean属性
注入文件资源
注入网站资源
注入配置文件
(2)@Value三种情况的用法。
${}是去找外部配置的参数,将值赋过来
#{}是SpEL表达式,去寻找对应变量的内容
#{}直接写字符串就是将字符串的值注入进去
9、环境切换
@Profile
指定组件在哪个环境的情况下才能被注册到容器中,不指定,任何环境下都能注册这个组件。
@Conditional
通过实现Condition接口,并重写matches方法,从而决定该bean是否被实例化。
10、异步相关
@EnableAsync
配置类中通过此注解开启对异步任务的支持;
@Async
在实际执行的bean方法使用该注解来声明其是一个异步任务(方法上或类上所有的方法都将异步,需要@EnableAsync开启异步任务)
11、定时任务相关
@EnableScheduling
在配置类上使用,开启计划任务的支持(类上)
@Scheduled
来申明这是一个任务,包括cron,fixDelay,fixRate等类型(方法上,需先开启计划任务的支持)
12、Enable***注解说明
这些注解主要是用来开启对xxx的支持:
@EnableAspectAutoProxy:开启对AspectJ自动代理的支持;
@EnableAsync:开启异步方法的支持;
@EnableScheduling:开启计划任务的支持;
@EnableWebMvc:开启web MVC的配置支持;
@EnableConfigurationProperties:开启对@ConfigurationProperties注解配置Bean的支持;
@EnableJpaRepositories:开启对SpringData JPA Repository的支持;
@EnableTransactionManagement:开启注解式事务的支持;
@EnableCaching:开启注解式的缓存支持;
13、测试相关注解
@RunWith
运行器,Spring中通常用于对JUnit的支持
@ContextConfiguration
用来加载配置配置文件,其中classes属性用来加载配置类。
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {“classpath*
Spring常用注解(绝对经典),全靠这份Java知识点PDF大全相关推荐
- 全靠这份Java知识点PDF大全,先睹为快
一. 什么是架构和架构本质 在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解. 此君说的架构和彼君理解的架构未必是一回事.因此我们在讨论架构之前,我们先讨论架构的概念定义,概念是人认识 ...
- 4面字节跳动拿到2-2-Offer,入职就是30K16薪,全靠这份Android知识点PDF大全
刷题当然也是最重要的,毕竟我是有好几年没有过正规面试的经历了,于是问我在阿里的同学要来了一份他们公司P8整理的一系列大厂面试题,刷到天昏地暗,如今我也已经入职了字节跳动,这些面试题对于我来说也没什么太 ...
- spring 常用注解 原理 逻辑 代码演示
01 spring 常用注解 原理 逻辑 代码演示 这是自己观看视频的笔记 文章目录 01 spring 常用注解 原理 逻辑 代码演示 一.组件注册 1.1-spring注解驱动开发 1.2-组件注 ...
- Spring常用注解,注解 IOC ,AOP,MVC 的理解
文章目录 大佬总结 0.Spring常用注解 0.1.SpringBootController里面的用法 0.1.1.SpringBoot 中常用注解@Controller/@RestControll ...
- Spring系列之Spring常用注解总结
参看博客:https://www.cnblogs.com/xiaoxi/p/5935009.html 传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺 ...
- Spring常用注解总结
传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点: 1.如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分开.xml文 ...
- spring autowired idea都匹配上了_你清楚这几个Spring常用注解吗?
作者:平凡希http://cnblogs.com/xiaoxi/p/5935009.html 传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点: 如 ...
- Java 必须掌握的 12 种 Spring 常用注解
转载自 Java 必须掌握的 12 种 Spring 常用注解 1.声明bean的注解 @Component 组件,没有明确的角色 @Service 在业务逻辑层使用(service层) @Repo ...
- Spring常用注解 - 使用注解来构造IoC容器
Spring常用注解 使用注解来构造IoC容器 用注解来向Spring容器注册Bean.需要在applicationContext.xml中注册<context:component-scan b ...
- autowired注解_Spring系列之Spring常用注解总结
作者:平凡希来源:https://www.cnblogs.com/xiaoxi/p/5935009.html 传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做 ...
最新文章
- 【Java 语言】Java 多线程 一 ( 线程基础 : 线程启动 | 线程停止 | 线程暂停 | 线程优先级 | 守护线程)
- 机械师怎么打开计算机管理,机械师创物者-R笔记本智能控制中心使用教程
- 表的操作(Oracle和DB2)
- 以国家战略科学家身份,顶级AI学者朱松纯回国,筹建北京通用AI研究院
- 程序员的自我修养——读《软技能-代码之外的生存指南》笔记
- 我搭建Wiki网站的步骤
- 知名社交网络 Myspace 丢失 12 年用户数据,大型系统究竟如何做迁移?
- Visio画UML图基本操作及技巧解析
- 海森堡量子力学与计算机,量子力学诞生后的120年,没有人真正懂他
- HomeKit支持matter协议,这背后将寓意着什么?
- myCat实现分库分表
- undefined symbol nvic 报错 undefined symbol TIM_Cmd报错
- PHP面试题2019年腾讯工程师面试题和答案
- UGUI - 制作九宫贴图
- std在汇编语言是什么指令_汇编语言的所有指令
- CS231n课程笔记翻译5:反向传播笔记
- 梅科尔工作室-李舒婷-鸿蒙作业3
- android gtd_GTD重置
- 通达信服务器列表在哪个文件里,【图】通达信目录文件结构及说明_通达信主题库怎么显示,通达信安装目录在哪里_股票软件技术交流论坛_理想论坛 - 股票论坛...
- CSDN---Markdown:换行、空格、目录、复杂表格和注脚
热门文章
- CnOpenData中国高等学校名单数据
- 爬取学校教务网课表与成绩 java版
- html学校代码怎么弄,学校代码查询网2020怎么查学校代码?查学校代码的方法
- 用计算机能打出什么歌,这样用计算机些歌谱?
- 想让“贾维斯”成为现实?物联网帮你拥有
- 简单数字电压表的c语言程序,简易数字直流电压表电路及程序
- cad打开a3样板图形_CAD如何绘制标准的A3图框(A3图纸样板图)
- C语言每日一练——第88天:汉诺塔问题(河内塔)
- ASE(Asset Scan Engine)资产扫描器
- y480 linux无线网卡驱动,联想y480无线网卡驱动下载