//注解方式可以简化spring的ioc容器的配置
使用注解步骤:
1、先引入context名称空间
xmlns:context=“http://www.springframework.org/schema/context”
2、开启注解扫描
<context:component-scan base-package=“com.huawei.sdn”></context:component-scan>
3、使用注解:通过注解的方式,把对象加入ioc容器。
@Component 指把一个对象加入IOC容器
@Repository 作用通@Component;在持久层使用dao
@Service 作用同@Component;在业务逻辑层使用service
@Controller 作用通@Component;在控制层使用action、
@Resource 属性注入
@Resource(name=“属性名/变量名”) 根据名称查找,优先使用
@Resource 根据类型查找
@Component(“userDao”) 把当前对象加入ioc容器
@Component 加入ioc容器的UserDao对象的引用名称,默认与类名一样,且第一个字母小写
4、Autowried注入,注解看用于成员变量,setter方法,构造函数等。
@Autowired默认按照类型匹配的方式进行注入
@Autowired使用时,须有且有仅有一个与之匹配的bean,当找不到匹配的bean或者存在多个匹配的bean时,spring容器将抛出异常。
5、spring 允许通过@Qualifier注释指定注入的bean的名称
6、@Autowired和@Qualifier结合使用时,自动注入的策略就从byType转变成byName了。
7、@Resource作用相当于@Autowired,只不过@Autowired按byType自动注入,@Rource默认按byName自动注入罢了。
//注解使用关键字@interface,继承java.lang.annotition.Annotition。
8、@Repository等同于配置文件中
@Service(value=“testServcie”)
public class TestService(){
System.our.printIn(“testService test”);
}
9、@Resource
@Resource对象间关系的组合,默认采用的是byName方式进行装配的,如果根据名称查找不到关联的对象,那么会再采用byType继续查找。
10、@Controller
@Controller(value=“ua”)
@Scope(value=“prototype”)
public class UserAction{
@Resource
private UserService userServcie;
public UserService getUserServcie(){
return userService;
}
}