您的位置:首页 > 编程语言 > Java开发

Spring学习3--基于注解的组件扫描

2015-10-29 20:03 495 查看
什么是组件扫描?

指定一个包路径,spring会自动扫描该包及其子包的所有组件类,当发现组件类定义前有特定的注解标记时,就将该组件纳入到Spring容器中。(等价于bean定义功能),组件扫描可以代替大量xml配置bean的定义。

1.指定扫描路径

<context:component-scan base-package="要扫描的路径(com.test)" />


2.自动扫描的注解标记

@Component—通用注解

@Name—通用注解

@Repository—持久化层组件注解

@Service—业务层组件注解

@Controller—控制层组件注解

3.自动扫描组件的命名

默认情况下为小写开头的类名

也可以在口号中自定义

@Repository
public class UserDao(){....}
@Service("loginService")
public class UserService(){...}


第一个组件id的名字为userDao

第二个组件id的名字为loginService

4.指定组件的作用域

@Scope("prototype")
@Repository
public class UserDao(){...}


5.指定依赖注入关系

@Resource

@Autowired/@Qualifier

@Inject/@Named

以上几种方式都可以指定依赖注入关系

6.注入Spring表达式

@Value注解可以注入Spring表达式

1.在xml配置中指定要注入的properties文件

<util:properties id="jdbcProps" location="classpaath:db.properties"/>


2.在setter方法前使用@Value注解

public class JDBCDataSource{
@Value("#{jdbcProps.url}")
private String url;
@Value("#{jdbcProps.driver}")
public void setUrl(String driver){... }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: