组件扫描
组件扫描
指定一个包路径,Spring自动扫描该包及子包所有组件类,当发现组件类定义前有特定注解标记,就将该组件纳入Spring容器.等价与原有XML配置中的<bean>定义功能.
扫描路径(在xml中配置)
<context:component-scan base-package="包名"/>
自动扫描的注释
@Component 通用注释
@Named 通用注释
@Repository 持久化层组件注释
@Service 业务层组件注释
@Controller 控制层组件注释
一个组件在扫描过程中被检测会生成一个默认id,该id为小写开头类名,也可以自定义id.
组件作用域
默认作用域"singleton"
指定用@Scope注解
指定依赖注入关系
@Autowired/@Qualifier 处理构造器和setter注入
@Inject/@Named 需要导包
@Resource 只能处理Setter注入(推荐)
注入Spring表达式值
@Value注解可以注入Spring表达式值
1).xml配置指定properties文件
<util:properties id="const" location="classpath:const.properties"/>
2).在属性或Setter方法前使用@Value注解
@Component
public class DemoBean implements Serializable{
@Value("#{const.PAGE_SIZE}")
private int pageSize;
}