ssm框架中注解的含义小结
ssm框架中注解的含义小结
组件扫描
什么是组件扫描??
指定一个包路径,Spring会自动扫描该包及其子包所有组件类,当发现组件类定义前有特定的注解标记时,就将该组件纳入到Spring容器。等价于原有XML配置中的定义功能。
组件扫描可以替代大量XML配置的定义。
在spring中,开启注解扫描后,替代xml配置bean,
<context:component-scan base-package = “org.example”/>
指定扫描类路径后,并不是该路径下所有组件类都扫描到Spring容器的,只有在组件类定义前面有以下注解标记时,才会扫描到Spring容器。
当一个组件在扫描过程中被检测到时,会生成一个默认id值,默认id为小写开头的类名。也可以在注解标记中自定义id。下面两个组件id名字分别是oracleUserDao和loginService
eg:
@Repository
public class OracleUserDao implements UserDao{
}
@Service(“loginService”)
public class UserService{}
通常受Spring管理的组件,默认作用域是“singleton”,如果需要改变作用域可以添加@Scope注解,并在注解中添加作用域名称
eg:
@Scope(“prototype”)
@Repository
public class OracleUserDao implements EmpDao{}
spring中@Scope注解共有一下几种:
```plain text singleton : 单例模式
1
2
3
4
5
6
7
prototype:每次请求都会new一个对象,
request 表示该针对每一次HTTP请求都会产生一个新的bean,同时该bean仅在当前HTTP request内有效
session作用域表示该针对每一次HTTP请求都会产生一个新的bean,同时该bean仅在当前HTTP session内有效
global session ```
本文由作者按照 CC BY 4.0 进行授权