spring_基于注解的IOC配置
一、导入spring-aop依赖
使用spring的IOC注解,需要使用一下的jar包,在这里使用maven来导入依赖
maven配置:
<!-- 导入spring maven依赖时,会自动导入spring-aop依赖 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.2.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-aop -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>5.0.2.RELEASE</version>
</dependency>
二、修改bean.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
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<context:annotation-config/>
<context:component-scan base-package="beanPackage"></context:component-scan>
</beans>
其中
xmlns:context=“http://www.springframework.org/schema/context” 表示支持基于注释的IOC
<context:component-scan base-package=“beanPackage”></context:component-scan> 用于扫描bean所在的包
三、注释标签介绍
-
用于创建对象的注释(对应 < bean>)
1)@Component
2)@Controller 用于控制层
3)@Service 用于服务层
4)@Repository 用于持久层 -
用于注入数据(对应< property >)
1)@Autowired 自动按照类型注入
2)@Qualifier(value=“beanId”) 与@Autowired一起使用,按照bean的id注入
3)@Resource(name=“beanId”) 按照bean的id注入
4)@Value(value=“value”) 注入基本数据类型和 String 类型数据//使用@Autowired @Autowired private beanClass beanName; //使用@Qualifier @Autowired @Qualifier(value="beanId") private beanClass beanName; //使用@Resource @Resource(name="beanId") private beanClass beanName;
-
生命周期(对应< init-method>和< destroy-method>)
1)@PostConstruct 对应< init-method >
2)@PreDestroy 对应< destroy-method > -
作用范围(对应< scope >)
1)@Scope(value=“value”)
其中value的值可以取singleton、prototype、request、session、globalsession