67,512
社区成员
发帖
与我相关
我的任务
分享
<?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.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd">
<context:component-scan base-package="dao,service"></context:component-scan>
<bean class="session.Session"></bean>
</beans>
package session;
public class Session {
public void save(){
System.out.println("save entity....");
}
public void update(){
System.out.println("update entity...");
}
}
package session;
public class User {
}
package dao;
public interface BaseDao<T> {
public void save();
public void update();
}
import org.springframework.beans.factory.annotation.Autowired;
import dao.BaseDao;
import session.Session;
public abstract class BaseDaoImpl<T> implements BaseDao<T>{
@Autowired
private Session session;
@Override
public void save() {
session.save();
}
@Override
public void update() {
session.update();
}
}
package dao.impl;
import org.springframework.stereotype.Repository;
import session.User;
@Repository("userDao")
public class UserDaoImpl extends BaseDaoImpl<User>{
}
package service;
public interface BaseService<T> {
public void save();
public void update();
}
package service;
import session.User;
public interface UserService extends BaseService<User> {
}
package service.impl;
import javax.annotation.Resource;
import dao.BaseDao;
import service.BaseService;
public abstract class BaseServiceImpl<T> implements BaseService<T>{
private BaseDao<T> baseDao;
@Resource
public void setBaseDao(BaseDao<T> baseDao) {
this.baseDao = baseDao;
}
@Override
public void save() {
// TODO Auto-generated method stub
baseDao.save();
}
@Override
public void update() {
// TODO Auto-generated method stub
baseDao.update();
}
}
package service.impl;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import dao.BaseDao;
import service.UserService;
import session.User;
@Service("userService")
public class UserServiceImpl extends BaseServiceImpl<User> implements UserService {
@Resource(name="userDao")
public void setBaseDao(BaseDao<User> baseDao) {
// TODO Auto-generated method stub
super.setBaseDao(baseDao);
}
}
package test;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import service.UserService;
public class TestCase {
@Test
public void test() {
ApplicationContext ac = new ClassPathXmlApplicationContext("spring.xml");
UserService us = (UserService) ac.getBean("userService");
us.save();
}
}