spring自动注入bean

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
	<display-name></display-name>
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
	<servlet>
		<servlet-name>spring</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>spring</servlet-name>
		<url-pattern>*.do</url-pattern>
	</servlet-mapping>
</web-app>

 applicationContext.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:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx" xmlns:p="http://www.springframework.org/schema/p"
	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/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd      
  http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd       
  http://www.springframework.org/schema/context    
  http://www.springframework.org/schema/context/spring-context-2.5.xsd">
  
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName" value="com.mysql.jdbc.Driver">
		</property>
		<property name="url" value="jdbc:mysql://127.0.0.1:3306/pecope">
		</property>
		<property name="username" value="root"></property>
		<property name="password" value="root"></property>
	</bean>
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
		<property name="dataSource">
			<ref bean="dataSource" />
		</property>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">
					org.hibernate.dialect.MySQLDialect
				</prop>
			</props>
		</property>
		<property name="annotatedClasses">
			<list>
				<value>com.zbb.entity.Salesman</value>
				<value>com.zbb.entity.Plan</value>
				<value>com.zbb.entity.Schedule</value>
				<value>com.zbb.entity.Room</value>
				<value>com.zbb.entity.Customer</value>
				<value>com.zbb.entity.Message</value>
				<value>com.zbb.entity.Material</value>
				<value>com.zbb.entity.Project</value>
				<value>com.zbb.entity.Bargain</value>
				<value>com.zbb.entity.Plan2</value>
			</list>
		</property>
	</bean>
	<context:component-scan base-package="com.zbb" use-default-filters="false">
		<context:include-filter type="annotation" expression="org.springframework.stereotype.Repository"/> 
		<context:include-filter type="annotation" expression="org.springframework.stereotype.Service"/> 
		<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/> 
	 </context:component-scan>
	
	
	
	
	
</beans>

 BaseAction.java

package com.zbb.action;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import com.zbb.entity.Customer;
import com.zbb.iservice.IBaseService;

@Controller
@RequestMapping(value="/baseAction")
public class BaseAcion {
	@Autowired
	IBaseService iBaseService;

	@RequestMapping(value="/getAll")
	public String getAll() {
		System.out.println("123");
		iBaseService.getAll(Customer.class);
		return "/success.jsp";
	}

}

 IBaseDao.java

若结合hibernatedaosupport查询数据库则要加上红色标记的部分不然出现异常,而且要注意懒加载问题

@Autowired  
    public void setMySessionFactory(SessionFactory sessionFactory){  
        super.setSessionFactory(sessionFactory);  
    }

package com.zbb.idao;

import java.sql.SQLException;
import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.springframework.stereotype.Repository;
@Repository
public class IBaseDao extends HibernateDaoSupport{
    
    public List<Object> getAll(final Class cls) {
        // TODO Auto-generated method stub
        System.out.println("basedao");
        return super.getHibernateTemplate().executeFind(new HibernateCallback() {

            public Object doInHibernate(Session arg0)
                    throws HibernateException, SQLException {
                // TODO Auto-generated method stub
                return arg0.createQuery("from "+cls.getSimpleName()).list();
            }
        });
    }
@Autowired  
    public void setMySessionFactory(SessionFactory sessionFactory){  
        super.setSessionFactory(sessionFactory);  
    }
}

 


 IBaseService.java

package com.zbb.iservice;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.zbb.idao.IBaseDao;
@Service
public class IBaseService{
	@Autowired
	IBaseDao iBaseDao;
	public List<Object> getAll(Class cls) {
		// TODO Auto-generated method stub
		System.out.println("baseservice");
		iBaseDao.getAll(cls);
		return null;
	}

}

 Test.java

package com.zbb.iservice;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.zbb.idao.IBaseDao;
@Service
public class IBaseService{
	@Autowired
	IBaseDao iBaseDao;
	public List<Object> getAll(Class cls) {
		// TODO Auto-generated method stub
		System.out.println("baseservice");
		iBaseDao.getAll(cls);
		return null;
	}

}

 

posted @ 2016-05-21 21:32  DaryllD  阅读(184)  评论(0编辑  收藏  举报