SpringMVC的注解和依赖注入(IOC)

1、spring注解

1.1@Controller

@Controller用来注解Action,在springMvc开发中也就是直接注解Controller

package com.action
@Controller
@Scope("prototype")
 public class UserAction extends BaseAction<User>{

 }


上述代码就是告诉spring容器,我是一个action类,spring容器会自动帮忙创建一个userAction的的对象,声明一个 @Scope("prototype" ),是为了使你提交的每一个请求有一个单独的action来处理,这样可以保证action的线程安全(对线程安全与否不了解的可以去查一下相关知识)

1.2@ Service

 @Service("userService")
 public class UserServiceImpl implements UserService{

 }
上述代码告诉spring容器,创建UserService的bean,对应的id是userService,这样当在UserAction中使用UserService,就可以直接把userService注入到action层,进行调用,在调用的时候声明一个service对象,并且在其上面用@Resource进行注解,例:
	@Resource(name = "userService")
	private UserService userService;

1.3@ Repository

@Repository(value="userDao")
public class UserDaoImpl extends BaseDaoImpl<User> {

}



Repository的作用是将数据访问层 (DAO ) 的类标识为 Spring Bean,只需将该注解标注在 DAO类上即可。上述代码是让Spring容器创建了一个id为userDao的bean,当在service层使用的时候也可以像1.2那样用@resource注解一下,就可以调用dao层的增删改查方法操作数据库了。这里使用了BaseDao<T>和BaseAction<T>,T是泛型,如果传的是别的实体类,可以也直接写成BaseDaoImpl<Customer>


当然需要在spring配置文件里面配置一下自动扫描范围  <context:component-scan base-package="*"/>  *代表你想要扫描的那些包的目录所在位置。Spring 在容器初始化时将自动扫描 base-package 指定的包及其子包下的所有的.class文件,所有标注了 @Repository 的类都将被注册为 Spring Bean
这种注解的方式可以方便程序员来写代码,不用在xml配置文件配置那么多了。
 例如: <bean id="orderService" class="com.service.OrderService">
          <property name="userDAO" ref="u" />	  
 	  <property name="goodsDAO" ref="u" />
</bean>
 上述是在xml配置文件里,将userDao和goodsDao注入到了orderService中,这样orderService就可以调用userDao和goodsDao里面的方法来操作数据库了。

总之不管是在自动扫描的方式还是在xml配置文件里面进行注入,都是为了不让程序员不停的new对象,使用起来更灵活。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值