实用性问题-JavaConfig与常见Annotation

1.0JavaConfig

在注解方式实例化Bean之前,我们都是通过XML来配置Bean以及其依赖关系的,造成了项目中有大量的XML文件,使项目变得复杂,不便于维护。所以JavaConfig 就应运而生了,JavaConfig是Spring的一个子项目。它基于Java代码和Annotation注解来描述Bean之间的依赖绑定关系。
在这里插入图片描述
@Configuration 注解标注在类上,相当于把该类作为Spring的XML配置文件中的,其作用为:配置Spring容器,需要注意的是:

  • @Configuration不可以是final类型
  • @Configuration 不可以是匿名类
  • 嵌套的Configuration必须是静态类。 @Bean注解标注方法上(返回某个实例的方法),等价于Spring的XML配置文件中的,作用是注册bean对象,对象实例的名字默认是方法名。我们也可以通过name属性来指定实例名。
  • @Bean 注解默认作用域为单例singleton 作用域,可通过@Scope(”prototype“)设置为原型作用域
  • 既然@Bean的作用是注册bean对象,那么完全可以使用@Component、@Controller、@Service、@Ripository等注解注册bean,当然需要配置@ComponentScan注解进行自动扫描。

1.1@ComponentScan

@ComponentScan注解对应Spring的XML配置文件中的<context:component-scan/> 表示启动组件扫描,Spring会自动扫描所有通过注解配置的bean,然后将其注册到IOC容器中,我们可以通过basePackages属性来指定@ComponentScan自动扫描的范围,如果不指定,则默认从声明@ComponentScan所在类的package进行扫描,正是因为如此,SpringBoot的启动类都是默认在/src/main/java下。

1.2@Import

@Import 注解用于导入配置类,应用场景就是一个配置类中的一个Bean依赖于另一个配置类中的一个Bean。
在这里插入图片描述
@Import 注解支持导入普通java类,主要用于将多个分散的JavaConfig配置类融合成一个更大的config类。

  • @Import 注解在4.2之前只支持导入配置类。 在4.2之后@Import注解支持导入普通的java类,并将其声明成一个Bean。
  • @Import三种使用方式: 直接导入普通的Java类。 配合自定义的ImportSelector使用。
    配合ImportBeanDefinitionRegistrar使用

1.3@Conditional

@Conditional注解表示满足某种条件之后才开始初始化一个Bean或者启动某些配置,它一般用在由@Component、@Service、@Configuration等注解标识的类上面,或者由@Bean标记的方法上。如果一个@Configuration类标记了 @Conditional,则该类中所有标识了@Bean的方法和@Import注解导入的相关类将遵从这些条件。

如果我们需要自定义自己的条件类,所要做的就是实现Condtition接口,并覆盖它的matches()方法。
在这里插入图片描述
在这里插入图片描述

1.4@ConfigurationProperties

当某些属性的值需要配置的时候,我们一般会在applcation.properties文件中新建配置项,然后通过@Value注解来获取配置项,比如下面配置数据源的代码。
在这里插入图片描述
如果配置比较多的话,是用@Value来获取注解就比较low了,代码也不美观。没关系,我们还有个更加好用的注解@ConfigurationProperties。这个注解可以把同类的配置信息自动封装成实体类,如获取数据源的代码可以改写成下面这样,由于篇幅的问题这里省略了setter、getter方法,但是实际开发中这个是必须的,否则无法成功注入。

在这里插入图片描述

1.5@EnableConfigurationProperties 注解

@EnableConfigurationProperties注解的作用是:使使用 @ConfigurationProperties 注解的类生效。

如果一个配置类只配置@ConfigurationProperties注解,而没有使用@Component,那么在IOC容器中是获取不到配置类转化的bean。说白了 @EnableConfigurationProperties 相当于把使@ConfigurationProperties 的类进行了一次注入。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
蛋白质是生物体中普遍存在的一类重要生物大分子,由天然氨基酸通过肽键连接而成。它具有复杂的分子结构和特定的生物功能,是表达生物遗传性状的一类主要物质。 蛋白质的结构可分为四级:一级结构是组成蛋白质多肽链的线性氨基酸序列;二级结构是依靠不同氨基酸之间的C=O和N-H基团间的氢键形成的稳定结构,主要为α螺旋和β折叠;三级结构是通过多个二级结构元素在三维空间的排列所形成的一个蛋白质分子的三维结构;四级结构用于描述由不同多肽链(亚基)间相互作用形成具有功能的蛋白质复合物分子。 蛋白质在生物体内具有多种功能,包括提供能量、维持电解质平衡、信息交流、构成人的身体以及免疫等。例如,蛋白质分解可以为人体提供能量,每克蛋白质能产生4千卡的热能;血液里的蛋白质能帮助维持体内的酸碱平衡和血液的渗透压;蛋白质是组成人体器官组织的重要物质,可以修复受损的器官功能,以及维持细胞的生长和更新;蛋白质也是构成多种生理活性的物质,如免疫球蛋白,具有维持机体正常免疫功能的作用。 蛋白质的合成是指生物按照从脱氧核糖核酸(DNA)转录得到的信使核糖核酸(mRNA)上的遗传信息合成蛋白质的过程。这个过程包括氨基酸的活化、多肽链合成的起始、肽链的延长、肽链的终止和释放以及蛋白质合成后的加工修饰等步骤。 蛋白质降解是指食物中的蛋白质经过蛋白质降解酶的作用降解为多肽和氨基酸然后被人体吸收的过程。这个过程在细胞的生理活动中发挥着极其重要的作用,例如将蛋白质降解后成为小分子的氨基酸,并被循环利用;处理错误折叠的蛋白质以及多余组分,使之降解,以防机体产生错误应答。 总的来说,蛋白质是生物体内不可或缺的一类重要物质,对于维持生物体的正常生理功能具有至关重要的作用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值