使用annotation

首先 xml文件更改  新加xslt

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xsi:schemaLocation="http://www.springframework.org/schema/beans
  6. http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
  7. http://www.springframework.org/schema/context
  8. http://www.springframework.org/schema/context/spring-context-2.5.xsd">
  9. <context:annotation-config />
  10. <bean id="u" class="com.bjsxt.dao.impl.UserDAOImpl">
  11. </bean>
  12. <bean id="u2" class="com.bjsxt.dao.impl.UserDAOImpl">
  13. </bean>
  14.  
  15. <bean id="userService" class="com.bjsxt.service.UserService" >
  16.  
  17. </bean>
  18.  
  19. </beans>

UserService.java

  1. package com.bjsxt.service;
  2. import org.springframework.beans.factory.annotation.Autowired;
  3. import org.springframework.beans.factory.annotation.Qualifier;
  4.  
  5. import com.bjsxt.dao.UserDAO;
  6. import com.bjsxt.model.User;
  7.  
  8. public class UserService {
  9.  
  10. private UserDAO userDAO;
  11.  
  12. public void init() {
  13. System.out.println("init");
  14. }
  15.  
  16. public void add(User user) {
  17. userDAO.save(user);
  18. }
  19. public UserDAO getUserDAO() {
  20. return userDAO;
  21. }
  22.  
  23. @Autowired
  24. public void setUserDAO(@Qualifier("u") UserDAO userDAO) {
  25. this.userDAO = userDAO;
  26. }
  27.  
  28. public void destroy() {
  29. System.out.println("destroy");
  30. }
  31. }

@Autowired 默认是执行bytype的 如果出现多个 可以使用 @qualifier 指定

Resourse

引入j2ee的annotion-common包

  1. package com.bjsxt.service;
  2. import javax.annotation.Resource;
  3.  
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.beans.factory.annotation.Qualifier;
  6.  
  7. import com.bjsxt.dao.UserDAO;
  8. import com.bjsxt.model.User;
  9.  
  10. public class UserService {
  11.  
  12. private UserDAO userDAO;
  13.  
  14. public void init() {
  15. System.out.println("init");
  16. }
  17.  
  18. public void add(User user) {
  19. userDAO.save(user);
  20. }
  21. public UserDAO getUserDAO() {
  22. return userDAO;
  23. }
  24.  
  25. @Resource
  26. public void setUserDAO( UserDAO userDAO) {
  27. this.userDAO = userDAO;
  28. }
  29.  
  30. public void destroy() {
  31. System.out.println("destroy");
  32. }
  33. }

beans.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xsi:schemaLocation="http://www.springframework.org/schema/beans
  6. http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
  7. http://www.springframework.org/schema/context
  8. http://www.springframework.org/schema/context/spring-context-2.5.xsd">
  9. <context:annotation-config />
  10. <bean id="userDAO" class="com.bjsxt.dao.impl.UserDAOImpl">
  11. </bean>
  12. <bean id="u2" class="com.bjsxt.dao.impl.UserDAOImpl">
  13. </bean>
  14.  
  15. <bean id="userService" class="com.bjsxt.service.UserService" >
  16.  
  17. </bean>
  18.  
  19. </beans>

test

  1. package com.bjsxt.service;
  2. import org.junit.Test;
  3. import org.springframework.context.ApplicationContext;
  4. import org.springframework.context.support.ClassPathXmlApplicationContext;
  5.  
  6. import com.bjsxt.model.User;
  7.  
  8. //Dependency Injection
  9. //Inverse of Control
  10. public class UserServiceTest {
  11.  
  12. @Test
  13. public void testAdd() throws Exception {
  14. ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
  15.  
  16. UserService service = (UserService)ctx.getBean("userService");
  17. service.add(new User());
  18.  
  19. ctx.destroy();
  20.  
  21. }
  22.  
  23. }

Spring3.0学习1.2(使用annotation)的更多相关文章

  1. Spring3.0学习笔记文档的官方网站(六)--3.4.1

    3.4 依靠 3.4.1 依赖注入     依赖注入两种方式:基于构造函数DI.基于setter方法DI. 3.4.1.1 基于构造函数DI     参数是引进一个对象的.和缺乏父母之前-子类关系: ...

  2. Spring3.0学习1.1(模拟spring)

    层次划分 面向抽象编程  带来极大的灵活性 IOC(DI)  依赖注入 控制反转: 正式使用spring IOC   控制反转 不用自己写实现 由容器完成 建议使用appicatiioncontext ...

  3. spring3.0使用annotation完全代替XML(三)

    很久之前写过两篇博客: spring3.0使用annotation完全代替XML spring3.0使用annotation完全代替XML(续) 用java config来代替XML,当时还遗留下一些 ...

  4. spring3.0使用annotation完全代替XML

    @Service与@Component有什么不同?那天被问到这个问题,一时之间却想不起来,就利用这篇文章来纪录spring3.0中常用的annotation. 从spring2.5开始,annotat ...

  5. 关于freemarker标签+Spring3.0 V层学习

    import标签 就是把其他的ftl页面引用进来 <#import "/common/ui.ftl" as ui> 使用时 <@ui.message/>,m ...

  6. 模块化之Spring3.0 web fragment和gradle构建项目

      1.背景 模块化开发很久以前就开始普及的概念.但是到了企业实际情况中,真正把模块化作为系统架构的核心的不多.或者说对模块化有这个意识,但是具体到底该如何实现,有些模糊,同时也许因为项目紧.任务中. ...

  7. Spring3.0 与 MyBatis框架 整合小实例

    本文将在Eclipse开发环境下,采用Spring MVC + Spring + MyBatis + Maven + Log4J 框架搭建一个Java web 项目. 1. 环境准备: 1.1 创建数 ...

  8. Servlet3.0学习总结——基于Servlet3.0的文件上传

    Servlet3.0学习总结(三)——基于Servlet3.0的文件上传 在Servlet2.5中,我们要实现文件上传功能时,一般都需要借助第三方开源组件,例如Apache的commons-fileu ...

  9. Jbpm4.4+hibernate3.5.4+spring3.0.4+struts2.1.8整合例子(附完整的请假流程例子,jbpm基础,常见问题解决)

    Jbpm4.4+hibernate3.5.4+spring3.0.4+struts2.1.8 整合例子(附完整的请假流程例子). 1.jbpm4.4 测试环境搭建 2.Jbpm4.4+hibernat ...

随机推荐

  1. Doris与Hadoop yarn混合部署遇到的坑

    Doris默认端口 Yarn 默认端口: 如图,端口冲突,在混合部署的情况下,会出现2个问题: 1. Yarn ResourceManager启动不起来 解决办法:修改yarn.resourceman ...

  2. 对mysql事务提交、回滚的错误理解

    一.起因 begin或者START TRANSACTION开始一个事务 rollback事务回滚 commit 事务确认 人们对事务的解释如下:事务由作为一个单独单元的一个或多个SQL语句组成,如果其 ...

  3. 电商系统架构总结1(EF)

    最近主导了一个电商系统的设计开发过程,包括前期分析设计,框架搭建,功能模块的具体开发(主要负责在线支付部分),成功上线后的部署维护,运维策略等等全过程. 虽然这个系统不是什么超大型的电商系统 数亿计的 ...

  4. [ZJOI2015]诸神眷顾的幻想乡(广义后缀自动机)

    /* 题目中的神仙性质真的是令人愉悦 因为我一眼看成了每个点的度数不超过二十, 心想这他喵的和字符串什么关系 统计树上不同子串个数, 按道理直接dfs n次把所有的串插到后缀自动机里就行了 但是我们发 ...

  5. 使用Redis数据库(String类型)

    一 String类型 首先使用启动服务器进程 : redis-server.exe 1. Set 设置Key对应的值为String 类型的value. 例子:向 Redis数据库中插入一条数据类型为S ...

  6. Vue.js模拟百度下拉框

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. python 获取整点时间戳,半整点时间戳 ,同时将时间戳转换成 日期时间

    import time, datetime def gettime(): for x in range(24): a = datetime.datetime.now().strftime(" ...

  8. spring controller 获取context

    想要获取context需要先熟悉spring是怎么在web容器中启动的,spring启动过程其实就是其IOC容器的启动过程,对于web程序,IOC容器启动过程即是建立上下文的过程 spring启动过程 ...

  9. 18.Mysql搜索引擎及其区别

    这是面试中的问题:当时也是没有直接回答出来,还是因为基础知识不扎实. 一般Mysql常用的搜索引擎有:ISAM.MylSAM.HEAP.InnoDB.Berkley(BDB) ISAM:执行读取操作的 ...

  10. 系列:这一件月薪30K+的事,我们一起来撮合一下 3

    作者:接地气的陈老师 ----------------------------------------------------------------------------------------- ...