Spring注解开发
@Component
用于spring容器初始时注入的bean对象
同一阶层带有语义的有,@Controller
,@Service
,@Repository
@Scope
bean的范围,单例singleton、多例prototype
spring关于注入的注解:
-
@Autowired
先寻找匹配的bean,如果只有一个,直接注入;如果有多个匹配的bean,根据变量名称,匹配spring map中的唯一key值,如果匹配不到,则报错。
-
@Qualifier
不能单独使用,需要配合@autowired,其中value是bean的id,直接匹配那个bean的id
-
@Resource
直接指定bean的id用于注入
以上三种注入方式,只能用于注入bean类型,不能用于注入string和基本类型,集合类型只能通过XML的方式进行注入
-
@Bean
用于把当前方法的返回值作为bean对象存入spring的容器中
注解的属性:name用于指定bean的ID,当不写时,默认是当前方法的名称。
基本类型的在注入
@Value
用于注入基本类型和string类型,标签value用于指定注入的值,可以使用SpEL(spring的EL表达式,SpEL的写法:${表达式})
纯注解方式配置注解
-
@Configuration
指定当前类是一个配置类
-
@ComponentScan
通过注解指定spring在创建容器时需要扫描的包,属性value和basePackages的作用是一样的,指定创建容器时需要扫描的包
-
@Import
导入其他的配置类(其他的配置类可以不使用@Configuration注解)
-
@PropertySource
用于指定properties文件的位置