1、新建一个Web程序
在程序中引入Spring所需要的jar包,我以前有弄好的包,包含了以下几个jar包
2、在src下新建Person.java的实例bean.
package cn.ehoo.bean;
/**
*@author whp
*@Email whp@ehoo.cn
*@Dec 30, 2010
*
*/
public class Person {
private Long id;
private String userName;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
}
3、再建立数据层的PersonDao接口与PersonDaoBean的实现bean
PersonDao.java
package cn.ehoo.dao;
import cn.ehoo.bean.Person;
/**
*@author whp
*@Email whp@ehoo.cn
*@Dec 30, 2010
*
*/
public interface PersonDao {
public void save(Person person);
}
PersonDaoBean.java
package cn.ehoo.dao.impl;
import org.springframework.stereotype.Repository;
import cn.ehoo.bean.Person;
import cn.ehoo.dao.PersonDao;
/**
*@author whp
*@Email whp@ehoo.cn
*@Dec 30, 2010
*
*/
@Repository//代表这个类是数据库层的代码
public class PersonDaoBean implements PersonDao {
public void save(Person person){
System.out.println("执行 PersonDaoBean 里的save方法");
}
}
4 建立服务层的PersonService.java与实现类PersonServiceBean.java
PersonService.java
package cn.ehoo.service;
import cn.ehoo.bean.Person;
/**
*@author whp
*@Email whp@ehoo.cn
*@Dec 30, 2010
*
*/
public interface PersonService {
public void save(Person person);
}
实现类PersonServiceBean.java
package cn.ehoo.service.impl;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import cn.ehoo.bean.Person;
import cn.ehoo.dao.PersonDao;
import cn.ehoo.service.PersonService;
/**
*@author whp
*@Email whp@ehoo.cn
*@Dec 30, 2010
*
*/
@Service//代表这个类是服务层的代码
public class PersonServiceBean implements PersonService {
@Resource private PersonDao personDao;
public void save(Person person){
System.out.println("执行 PersonServiceBean 里的save方法");
personDao.save(person);
}
@PostConstruct//如果在使用这个类之前想对这个类的一些资源进行初始化可以用这个注解
public void init(){
System.out.println("初始化资源文件");
}
@PreDestroy//如果在使用这个类之后想对这个类的一些资源进行关闭可以用这个注解
public void destroy(){
System.out.println("关闭资源性文件");
}
}
5 在程序的classpath路径下面(也就是src的根目录下)建立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:component-scan base-package="cn.ehoo" /><!-- 在打开这个注解后,spring就会自动对java程序里标识了注解的类进行管理 -->
</beans>
6 junit进行测试
package junit.test;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import cn.ehoo.bean.Person;
import cn.ehoo.service.PersonService;
/**
*@author whp
*@Email whp@ehoo.cn
*@Dec 30, 2010
*
*/
public class SpringTest {
public static PersonService personService;
@BeforeClass
public static void setUpBeforeClass() throws Exception {
AbstractApplicationContext cxt = new ClassPathXmlApplicationContext("beans.xml");
personService =(PersonService)cxt.getBean("personServiceBean");
}
@Test
public void save(){
Person person = new Person();
personService.save(person);
}
public static void main(String[] args) {
try {
setUpBeforeClass();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
*@author whp
*@Email whp@ehoo.cn
*@Dec 30, 2010
*
*/
@AfterClass
public static void tearDownAfterClass() throws Exception {
}
}
分享到:
相关推荐
Spring demo 自动检测注解
NULL 博文链接:https://huihai.iteye.com/blog/858769
spring 注解 aop demo spring 注解 aop demo spring 注解 aop demo spring 注解 aop demo
spring注解方式解析 1.ioc自动装配 2.注入解析
dubbo+zookeeper+spring 注解式开发demo,使用注解方式利用dubbo开发的分布式例子
使用Spring的注解方式实现AOP的细节
Spring注解
声明式事务管理也有两种常用的方式,一种是基于tx和aop名字空间的xml配置文件,另一种就是基于@Transactional注解。显然基于注解的方式更简单易用,更清爽。spring注解事务实现demo
NULL 博文链接:https://huihai.iteye.com/blog/856112
采用struts2,spring3,hibernate的全注解方式实现的demo.
该文件中包括了dwr框架和spring框架结合使用方法,使用注解方式。
要学习hibernate注解和spring注解的,可以下载, 该工程包括了hibernate注解和spring注解做的登录例子
spring注解笔记spring注解笔记spring注解笔记spring注解笔记
Quartz2.2.1基于Spring注解方式配置QuartzL,具体过程的效果看博文 http://blog.csdn.net/evankaka/article/details/45400781
Spring mvc 注解Demo,适合初学者。下载即可用
Spring注解大全,注解整理方式采用思维导图工具(XMind)整理,对注解按自己的方式进行了分类,并对所有的注解在备注中进行了解释说明;
使用Spring的注解方式实现AOP入门
spring使用resource注解的demo,依赖的库是spring core,建议通过myeclise添加。
spring-demo10-注解-IOC.zip