spring注解开发


    (一)、配置文件(常用标签及作用)

        1、<context:component-scan>和<context:annotation-config/>

         spring就会去自动扫描base-package对应的路径或者该路径的子包下面的java文件,如果扫描到文件中带有@Service,@Component,@Repository,@Controller等这些注解的类,则把这些类注册为bean。 
        注:如果配置了<context:component-scan>那么<context:annotation-config/>标签就可以不用在xml中再配置了,因为前者包含了后者。

        2、<context:property-placeholder/>

<!-- 加载配置文件 -->
<context:property-placeholder location="classpath:conf/*.properties" />

 3、<context:component-scan />

<!-- 自动扫描标记@Controller的控制器类 -->

<context:component-scan base-package="com.e3mall.portal.controller" />

 4、<mvc:annotation-driven />

<!-- 自动加载RequestMappingHandlerMapping和RequestMappingHandlerAdapter -->

<mvc:annotation-driven />

(二)类中的操作(以service层和dao层为例)

           1、service层(不用提供get set方法)
                

    2、dao层


注:前面@Resource(name="userDao")  private UserDao ud;中的userDao在dao层已经把UserDaoImpl对象交给spring管理了。

3、之前的错误理解

    

TestPojo为单独书写的一个类,类上未添加注解,测试结果为:testPojo.test();空指针。

注释掉这一行之前的代码为:UserDao为一个接口,myTest方法在实现类中具体实现了,并且在实现类中加上了@Repository("userDao")注解。

由此可见: @Resource(name="userDao") // 通过此注解完成从spring配置文件中查找名称为userDao的bean来装配字段userDao,如果spring配置文件中不存在userDao名称的bean则转向按照bean类型经行查找。

4、另外一个实例



解释:JedisClient为一个接口,JedisClientCluster为实现类


结论:要想用此实例----需要一个接口 一个实现类 ,@Autowired(@Resource等同)只是用来装配这个字段,关键还是要将对象交给spring管理,此例中在配置文件中使用bean的方式实例化了该对象,上面一个例子使用注解的方式实例化了对象。


  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值