Bean管理注解方式
基于注解方式管理bean
注解创建对象
1.@Component:普通类注解
2.@service:业务层注解
3.@Controller:控制层注解
4.@Repository:持久层注解
步骤:
1.引入依赖: spring-aop 依赖
2.配置spring文件:
开启组件扫描,
1.包之间用逗号隔开
2.扫描包的上层目录
<context:component-san base-package="" />
开启组件扫描, 只扫描其中某个注解,其中use-default-filters="false" 是不使用默认到过滤器。 include-filter 包含的过滤器, type类型为注解, expression表达式为 所有的 @Controller 注解。
表示扫描这个包下所有@controller注解
<context:component-san base-package="" use-default-filters="false" >
<context:include-filter type="annotaion" expression="org.springframework.stereotype.Controller"/>
</context:component-san>
扫描报下所有内容,context:exclude-filter, 设置哪些内容不进行扫描。 及@Controller 注解不扫描
<context:component-san base-package="" >
<context:exclude-filter type="annotaion" expression="org.springframework.stereotype.Controller"/>
</context:component-san>
3.在类中添加注解
基于注解方式实现属性注入
1.@Autowired 根据属性类型自动注入
使用: 定义要引用的对象属性, 在属性上添加注解,注意:不需要set方法,已经封装好了。
@Autowired
private UserDao userdao;
2.@Qualifier 根据名称自动注入,需要和@Autowired配合使用
使用: 如果有多个类型相同的对象,就只能使用名称自动注入
@Autowired
@Qualifier(value="userDaoImpl")
private UserDao userdao;
3.@Resouce 可以根据类型注入,也可以根据名称注入, 此注解非spring框架注解,而是javax中的
根据类型注入
@Resouce
private UserDao userdao;
根据名称注入
@Resouce(value=“userDaoImpl”)
private UserDao userdao;
4.@Value 基本数据注入
@Value(value="abc")
private String name;
完全注解开发
不使用xml配置文件,添加注解扫描
使用:
创建一个普通类,在普通类上增加注解
@Configuration 作为配置类,替代xml配置文件
@ComponentScan(basePackage={"com.duobee.service, com.duobee.dao"}) 设置扫描的包
测试类ApplicationContext 接口到实现类为 AnnotationConfigApplicationContext(配置类.classs);
ApplicationContext ac = new AnnotationConfigApplicationContext(配置类.classs);

浙公网安备 33010602011771号