spring常用的注解

@Configuration  声明为配置类

@Bean(value="bean的名称")  作用在方法上,bean的默认名称是方法名

@Lazy  懒加载

@CompentScan  包扫描范围  可用 excludeFilters  排除  includeFilters 包含,需要把useDefaultFilters属性设置为false(true表示扫描全部的)

@Scope作用域 默认单例singleton   可选参数 prototype 多例  request 同一次请求 session 同一个会话级别

@Conditional  进行条件判断等.,自定义类实现Condition接口

 

往IOC 容器中添加组件的方式

一、@Import来导入组件 (导入组件的id为全类名路径)

① 自定义类实现ImportSeletor类实现组件的导入 (导入组件的id为全类名路径)

②自定义类实现ImportBeanDefinitionRegister导入组件 (可以指定bean的名称)

二、实现FacotryBean接口来实现注册 组件

三、@CompentScan +@Controller @Service @Respository @compent

四、通过@Bean的方式来导入组件(适用于导入第三方组件的类)

 

@AutoWired 自动装配   指定装配类@Qualifier("tulingDao") 或者在配置类上的@Bean加上@Primary注解,容器中没有的话,就会抛异常 ,若我们想不抛异常 ,我们需要指定 required为false的时候可以了@Autowired(required = false)

类似注解@Resource  功能和@AutoWired的功能差不多一样,但是不支持@Primary 和@Qualifier的支持

@InJect 需要导入jar包依赖   功能和支持@Primary功能 ,但是没有Require=false的功能

AutoWired 可用写在  set方法上  构造方法上   标注在配置类上的入参中(可以不写)成员变量

 

我们自己的组件 需要使用spring ioc的底层组件的时候,比如 ApplicationContext等,我们自己可用实现 ApplicationContextAware,BeanNameAware 接口来实现

 

通过@Profile注解 来根据环境来激活标识不同的Bean
@Profile标识在类上,那么只有当前环境匹配,整个配置类才会生效
@Profile标识在Bean上 ,那么只有当前环境的Bean才会被激活

方法一:通过运行时jvm参数来切换 -Dspring.profiles.active=test|dev|prod
方法二:通过代码的方式来激活

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值