1.常用IOC注解按照作用分类
XML开发:
<bean id="" class="" scope="" init-method="" destroy-method="">
<property name="">
<value></value>
</property>
</bean>
分类:
用于创建对象的注解
作用和xml中bean标签一样
Component:
作用:把当前类对象存入Spring容器
属性:
value:用于指定bean的id,不指定默认为当前类名,且首字母改小小写.
Controller:一般用于表现层
Service:一般用于业务层
Repository:一般用于持久层
"以上三个注解和Component的作用一样,Spring提供这三个注解,让我们开发层次更加清晰"
------------------------------------------------------------------------------------------
用于注入数据的注解
作用和bean标签下的property标签一样
Authorware:
作用;自动按照类型注入.只要容器中有唯一的一个bean对象类型和要注入的变量类型匹配,既可以注入成功.
出现位置:
既可以是变量上,也可以是方法上
Qualifier:
作用:在按照类型注入的基础上,再按照名称注入.给类成员注入的时候只能和Authorware配合使用,给方法参数注入的时候可以
属性:
value;指定bean的id
Resource:
作用:直接安装bean的id注入,可以单独使用
属性:
name指定bean的id
"以上三个注解只能注入bean数据类型数据"
Value:
作用:注入基本数据类型和String类型数据.
属性:
value指定数据的值,可以使用Spring的SpEL表达式.
"集合类型数据只能通过xml方式注入"
-------------------------------------------------------------
用于改变作用范围的注解
作用和bean标签的scope属性一样
Scope:
作用:指定bean的作用范围
属性:
value指定范围
常用的有singleton和prototype
--------------------------------------------------------------------------------------------------
用于生命周期的注解(了解)
作用和bean标签的init-method和destroy-method一样
PreDestroy:
作用:用于指定销毁方法
PostConstruct
作用;用于指定初始化方法
xml和注解开发的作用是一样的.
2.用于创建对象的Component注解
核心配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd">
// 扫描那个包下的注解,注解开发必须配置
<context:component-scan base-package="top.zhangmingke" ></context:component-scan>
类中:
@Component
public class Test(){
}
不指定Component中的value值,默认就是类名小写为id
@Component(value = "aaa")
public class test{
}
单个value可以省去.