IOC注解的使用
1,导入依赖和添加约束
<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">
<!-- bean definitions here -->
</beans>
2,添加组件扫描
扫描该包下的所有组件
<context:component-scan base-package="包名"/>
3,Spring框架中Bean管理的常用注解
@Component(value="userService")
相当于在XML的配置方式中
<bean id="userService" class="...">
4,Spring框架中Bean管理的常用注解
4.1,组件注入
- @Component:组件(作用在类上)
- Spring中提供@Component的三个衍生注解
- @Controller:作用在WEB层
- @Service:作用在业务层
- @Repository:作用在持久层
这三个注解是为了让标注类本身的用途清晰,Spring在后续版本会对其增强
4.2,属性注入
- 注入普通类型
- @Value:用于注入普通类型
- 注入对象类型
- @Autowired:默认按类型进行自动装配
- @Qualifier:强制使用名称注入
- @Resource:相当于@Autowired和@Qualifier一起使用
- Java提供的注解
- 属性使用name属性
5,Bean的作用范围和生命周期的注解
Bean的作用范围注解
- 注解为@Scope(value=”prototype”),作用在类上。
- singleton – 单例,默认值
- prototype – 多例
- 注解为@Scope(value=”prototype”),作用在类上。
Bean的生命周期的配置(了解)
- @PostConstruct – 相当于init-method
- @PreDestroy – 相当于destroy-method
6,Spring框架整合JUnit单元测试
6.1,在程序中引入:spring-test.jar
6.2,在具体的测试类上添加注解
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("classpath:applicationContext.xml")
public class SpringDemo1 {
@Resource(name="userService")
private UserService userService;
@Test
public void demo2(){
userService.save();
}
}