欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Spring中常用的注解及作用

程序员文章站 2022-07-04 22:32:32
@Component(value) 配置类,当使用该注解时,SpringIOC会将这个类自动扫描成一个bean实例 不写的时候,默认是类名,且首字母小写 @ComponentScan 默认是代表进行扫描当前包 含有两个参数: basePackages:可以扫描多个包,是一个数组类型,可能会造成产生多 ......

@component(value)
配置类,当使用该注解时,springioc会将这个类自动扫描成一个bean实例
不写的时候,默认是类名,且首字母小写

@componentscan
默认是代表进行扫描当前包
含有两个参数:
basepackages:可以扫描多个包,是一个数组类型,可能会造成产生多个bean实例
basepackageclasses:可以扫描多个方法,是一个数组类型,可能会造成产生多个bean实例

@autowired
自动装配,会根据类型寻找指定的bean,required:表示假如说在bean目录下找不到指定的注解还需不需要注入,默认是true 修改为false时,表示假如说没有找到可以允许不注入。

@primary
表示当通过一个接口或者抽象类注入时,存在多个实现类,那么使用该注解可以告诉ioc,优先注入parmary修饰的

@qualifier
假如说按名称查询指定的方法时,采用qulifier(方法名)

@bean
当使用该注解时,springioc会将这个方法自动扫描成一个bean实例
不写的时候,默认是方法名,且首字母小写
可以使用bean 中设置name(bean的名字),autowire是否是一个引用的bean方法默认值autowire.no,initmothed初始化方法,destroymethod销毁方法

@scope
可以是用该该注解设置多个bean对象

@importresource({"classpath:xxx.xml"})
能够读取多个xml文件,这样就可以引入多个xml定义的bean
@import({xx.class,xxx.class})
能够读取多个class文件

@profile
使用该注解可以给spring配置多个数据源 连接池对象
在bean中配置时,
可以使用<beans profile="数据源1"></beans>
<beans profile="数据源2"></beans>
1.在类中配置,使用时,需要在指定的类中激活
@activeprofiles("数据源1")
2.在虚拟中配置
3.在web.xml文件中配置
<init-param>
<param-name>spring.profiles.active</param-name>
<param-name>数据源1</param-name>
</init-param>
<init-param>
<param-name>spring.profiles.active</param-name>
<param-name>数据源2</param-name>
</init-param>
还有两种

加载配置文件:
使用注解:@propertysource(value="classpath:xxx")
使用xml文件配置 <context:property-placeholder location="classpath:db.properties"/>


@contional({xx.class})(了解)
可以条件化,装配bean;

@value("#{xxx}")
可以直接给属性赋值
也可以直接给bean元素赋值