Spring注解开发
1、使用注解开发的前提
开启注解的支持
XML:<context:component-scan base-package=“指定到包含注解的基础包”/>
2、组件的注解
@Component:不属于三层结构的使用此注解
只能用类上,声明当前对象为Bean对象并存入IOC容器
通过value的属性指定唯一标识,如果没有设置value,则默认使用类名首字母小写作为唯一标识
以下三个注解由@Component衍生而来,功能一样
@Service 用于业务层
@Controller 用于表现层
@Repository 用于持久层
3、作用域:
@Scope:用于类
4、声明周期相关的:
初始化
@PostConstruct
销毁
@PreDestroy
注意:以上两个注解在jdk9及版本以上的是无效的
5、注入注解
简单数据类型注入的注解:
@Value:这个注解可以解析表达式
引用数据类型注入注解:
@Autowired:byType 按照类型匹配
如果IOC容器有多个相同的Bean对象,会先用变量名去匹配Bean对象的ID,如果有则直接注入
如果没有则报错
使用前提:IOC容器有且只有一个类型的Bean对象
@Qualifier:byName 按照名称匹配
注意:@Qualifier使用在成员变量时,必须与@Autowired结合使用,不能独立使用
@Qualifier在方法的参数上使用时,可以独立使用
6、加载外部资源配置文件的注解:
@PropertySource:等同于核心配置文件中context:property-placeholder/