提示:普通工程必导jar包
maven项目依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.7.RELEASE</version> <!--版本自定-->
</dependency>
xml文件扫描注解配置:
<?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">
<!-- 扫描 com.it 包及该包下所有子包 -->
<context:component-scan base-package="com.it"></context:component-scan>
</beans>
-
1、用于创建对象的注解,功能与.xml配置时的
-
@component:
位置:类名的上方;
属性: value:指当前bean的id,不写时,@component
默认:首字母小写的当前类名;若@component内仅设置value属性,可省略value@component(“person”)
-
@Repository:
作用与用法与@component一致,但通常用于持久层; -
@Service:
作用与用法与@component一致,但通常用于业务层; -
@Controller:
作用与用法与@component一致,但通常用于控制层;
注: 以上注解可以写在任意层,只是为方便区分而按照层的不同区分使用;但有控制层仅能为@Controller;
2、用于注入数据的注解,功能与.xml配置时的
-
@Autowired
作用:自动按照类型注入;
位置:成员变量,方法上;
限制:根据类型注入,有且只能有一个与之类型对应 的bean资源,否则注入失败; -
@Qualifier
作用:按照类型注入的基础上再按照名称注入;
位置:成员变量,方法上;
属性:value:指定注入bean的id;
限制:在给类成员注入时不能单独使用,要与@Autowired配合使用; -
@Resource
作用:按照bean的id注入,可单独使用;
位置:成员变量,方法上;
属性:name:指定注入bean的id;
注: 以上注解只能注入其他bean类型的数据;不能实现基本类型与String类型的注入,且,集合类型只能依靠xml方式实现注入; -
@Value
作用:实现基本类型与String类型的注入;
属性:value:指定数据值,可以使用SpEL表达式${};
3、指定单例多例
-
@Scope
作用:指定bean的作用范围;
属性:value:singleton(单例),prototype(多例);
4、初始化及销毁
-
@PostConstruct
作用:指定初始化方法; -
@PreDestroy
作用:指定销毁方法;
<bean>
标签的功能一致:
<property>
标签的功能一致: