Spring3.0学习1.2(使用annotation)
使用annotation
首先 xml文件更改 新加xslt
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:context="http://www.springframework.org/schema/context"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
- http://www.springframework.org/schema/context
- http://www.springframework.org/schema/context/spring-context-2.5.xsd">
- <context:annotation-config />
- <bean id="u" class="com.bjsxt.dao.impl.UserDAOImpl">
- </bean>
- <bean id="u2" class="com.bjsxt.dao.impl.UserDAOImpl">
- </bean>
- <bean id="userService" class="com.bjsxt.service.UserService" >
- </bean>
- </beans>
UserService.java
- package com.bjsxt.service;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Qualifier;
- import com.bjsxt.dao.UserDAO;
- import com.bjsxt.model.User;
- public class UserService {
- private UserDAO userDAO;
- public void init() {
- System.out.println("init");
- }
- public void add(User user) {
- userDAO.save(user);
- }
- public UserDAO getUserDAO() {
- return userDAO;
- }
- @Autowired
- public void setUserDAO(@Qualifier("u") UserDAO userDAO) {
- this.userDAO = userDAO;
- }
- public void destroy() {
- System.out.println("destroy");
- }
- }
@Autowired 默认是执行bytype的 如果出现多个 可以使用 @qualifier 指定
Resourse
引入j2ee的annotion-common包
- package com.bjsxt.service;
- import javax.annotation.Resource;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Qualifier;
- import com.bjsxt.dao.UserDAO;
- import com.bjsxt.model.User;
- public class UserService {
- private UserDAO userDAO;
- public void init() {
- System.out.println("init");
- }
- public void add(User user) {
- userDAO.save(user);
- }
- public UserDAO getUserDAO() {
- return userDAO;
- }
- @Resource
- public void setUserDAO( UserDAO userDAO) {
- this.userDAO = userDAO;
- }
- public void destroy() {
- System.out.println("destroy");
- }
- }
beans.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:context="http://www.springframework.org/schema/context"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
- http://www.springframework.org/schema/context
- http://www.springframework.org/schema/context/spring-context-2.5.xsd">
- <context:annotation-config />
- <bean id="userDAO" class="com.bjsxt.dao.impl.UserDAOImpl">
- </bean>
- <bean id="u2" class="com.bjsxt.dao.impl.UserDAOImpl">
- </bean>
- <bean id="userService" class="com.bjsxt.service.UserService" >
- </bean>
- </beans>
test
- package com.bjsxt.service;
- import org.junit.Test;
- import org.springframework.context.ApplicationContext;
- import org.springframework.context.support.ClassPathXmlApplicationContext;
- import com.bjsxt.model.User;
- //Dependency Injection
- //Inverse of Control
- public class UserServiceTest {
- @Test
- public void testAdd() throws Exception {
- ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
- UserService service = (UserService)ctx.getBean("userService");
- service.add(new User());
- ctx.destroy();
- }
- }
Spring3.0学习1.2(使用annotation)的更多相关文章
- Spring3.0学习笔记文档的官方网站(六)--3.4.1
3.4 依靠 3.4.1 依赖注入 依赖注入两种方式:基于构造函数DI.基于setter方法DI. 3.4.1.1 基于构造函数DI 参数是引进一个对象的.和缺乏父母之前-子类关系: ...
- Spring3.0学习1.1(模拟spring)
层次划分 面向抽象编程 带来极大的灵活性 IOC(DI) 依赖注入 控制反转: 正式使用spring IOC 控制反转 不用自己写实现 由容器完成 建议使用appicatiioncontext ...
- spring3.0使用annotation完全代替XML(三)
很久之前写过两篇博客: spring3.0使用annotation完全代替XML spring3.0使用annotation完全代替XML(续) 用java config来代替XML,当时还遗留下一些 ...
- spring3.0使用annotation完全代替XML
@Service与@Component有什么不同?那天被问到这个问题,一时之间却想不起来,就利用这篇文章来纪录spring3.0中常用的annotation. 从spring2.5开始,annotat ...
- 关于freemarker标签+Spring3.0 V层学习
import标签 就是把其他的ftl页面引用进来 <#import "/common/ui.ftl" as ui> 使用时 <@ui.message/>,m ...
- 模块化之Spring3.0 web fragment和gradle构建项目
1.背景 模块化开发很久以前就开始普及的概念.但是到了企业实际情况中,真正把模块化作为系统架构的核心的不多.或者说对模块化有这个意识,但是具体到底该如何实现,有些模糊,同时也许因为项目紧.任务中. ...
- Spring3.0 与 MyBatis框架 整合小实例
本文将在Eclipse开发环境下,采用Spring MVC + Spring + MyBatis + Maven + Log4J 框架搭建一个Java web 项目. 1. 环境准备: 1.1 创建数 ...
- Servlet3.0学习总结——基于Servlet3.0的文件上传
Servlet3.0学习总结(三)——基于Servlet3.0的文件上传 在Servlet2.5中,我们要实现文件上传功能时,一般都需要借助第三方开源组件,例如Apache的commons-fileu ...
- 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 ...
随机推荐
- Doris与Hadoop yarn混合部署遇到的坑
Doris默认端口 Yarn 默认端口: 如图,端口冲突,在混合部署的情况下,会出现2个问题: 1. Yarn ResourceManager启动不起来 解决办法:修改yarn.resourceman ...
- 对mysql事务提交、回滚的错误理解
一.起因 begin或者START TRANSACTION开始一个事务 rollback事务回滚 commit 事务确认 人们对事务的解释如下:事务由作为一个单独单元的一个或多个SQL语句组成,如果其 ...
- 电商系统架构总结1(EF)
最近主导了一个电商系统的设计开发过程,包括前期分析设计,框架搭建,功能模块的具体开发(主要负责在线支付部分),成功上线后的部署维护,运维策略等等全过程. 虽然这个系统不是什么超大型的电商系统 数亿计的 ...
- [ZJOI2015]诸神眷顾的幻想乡(广义后缀自动机)
/* 题目中的神仙性质真的是令人愉悦 因为我一眼看成了每个点的度数不超过二十, 心想这他喵的和字符串什么关系 统计树上不同子串个数, 按道理直接dfs n次把所有的串插到后缀自动机里就行了 但是我们发 ...
- 使用Redis数据库(String类型)
一 String类型 首先使用启动服务器进程 : redis-server.exe 1. Set 设置Key对应的值为String 类型的value. 例子:向 Redis数据库中插入一条数据类型为S ...
- Vue.js模拟百度下拉框
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- python 获取整点时间戳,半整点时间戳 ,同时将时间戳转换成 日期时间
import time, datetime def gettime(): for x in range(24): a = datetime.datetime.now().strftime(" ...
- spring controller 获取context
想要获取context需要先熟悉spring是怎么在web容器中启动的,spring启动过程其实就是其IOC容器的启动过程,对于web程序,IOC容器启动过程即是建立上下文的过程 spring启动过程 ...
- 18.Mysql搜索引擎及其区别
这是面试中的问题:当时也是没有直接回答出来,还是因为基础知识不扎实. 一般Mysql常用的搜索引擎有:ISAM.MylSAM.HEAP.InnoDB.Berkley(BDB) ISAM:执行读取操作的 ...
- 系列:这一件月薪30K+的事,我们一起来撮合一下 3
作者:接地气的陈老师 ----------------------------------------------------------------------------------------- ...