首先,添加一个标签
<context:component-scan base-package="com.octavius"/>
表示扫描该包目录以及所有子包:寻找该包中所有可以实现组件注册功能的注解。
1️⃣组件注册
- @Component 组件的id为类名的首字母小写形式
@Component
public class UserServiceImpl implements UserService{
- @Component(“组件id”) 组件的id为注解的value值
@Component("userService")
public class UserServiceImpl implements UserService{
- @Service 用于service层的组件
@Service
public class UserServiceImpl implements UserService{
- @Repository 用于dao层的组件
@Repository
public class UserMapperImpl implements UserMapper{
- @Controller 用于controller层的组件
2️⃣组件注入
-
@Autowired:按照类型进行注入
-
@Autowired + @Qualifie(“组件id”) :当容器中同类型组件有多个的时候,按类型和组件id注入
-
@Resource 默认按照类型注入,可以使用name属性来指定组件id
3️⃣scope、init、destroy
- @Scope:将作用域的值写在注解中
- @PostConstruct:对应init-method属性
- @PreDestroy:对应destroy-method属性
4️⃣单元测试类
首先要导包
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
在类上加入如下注解:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(“classpath:application.xml”)