文章目录
什么是注解
格式:@注解名称(属性名=属性值,属性名=属性值…)
使用注解:注解作用在类(方法,属性)上
使用目的:简化xml配置
Spring针对Bean管理中创建对象提供注解
@Component 普通用法
@Service 用于service业务逻辑层
@Controller 用于web层
@Repository 用于dao层
基于注解方式实现对象创建
(1)引入aop依赖
(2)开启组件扫描
<!--开启组件扫描
扫描多个包:使用逗号隔开
扫描包上层目录:com.yzh-->
<context:component-scan base-package="com.yzh.dao,com.yzh.service"></context:component-scan>
(3)创建类,添加注解
@Service(value = "userService") //value值可以不写,默认值为首字母小写的类名
public class UserService {
public void add(){
System.out.println("service add.....");
}
}
(4)开启组件扫描细节配置
<!--示例1
use-default-filters="false" :表示现在不使用默认filter,自己配置filter
context:include-filter: 设置扫描哪些内容
-->
<context:component-scan base-package="com.yzh" use-default-filters="false">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
<!--示例2
下面配置扫描包所有内容
context:exclude-filter:设置哪些内容不进行扫描
-->
<context:component-scan base-package="com.yzh">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
(5)基于注解方式实现属性注入
@AutoWired:根据属性类型进行自动装配
第一步 把service 和dao实现类创建,在service和实现类添加创建对象注解
第二步 在service 注入dao对象,在service 类添加dao类型属性,在属性上面使用注解
@Qualifier:根据属性名称进行注入,要和Autowired一起使用
@Resource:可以根据类型或者名称注入