zoukankan      html  css  js  c++  java
  • 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;
    	}
    
    }
    
  • 相关阅读:
    Leetcode 647 回文子串
    计算机专业课程——答案搜集
    Centos搭建go环境以及go入门
    android studio实现圆角的button
    关于区块链的认识和看法
    LeetCode 96. 不同的二叉搜索树
    LeetCode 120. Triangle (三角形最小路径和)详解
    LeetCode 64最小路径和
    微信发起摄像头接口请求 上传头像 图片
    Vue解决项目白屏以及(反向代理)
  • 原文地址:https://www.cnblogs.com/super-admin/p/5515654.html
Copyright © 2011-2022 走看看