zoukankan      html  css  js  c++  java
  • spring 学习总结

           前几天,一直在学spring,然后又学习spring mvc ,再回过头去看spring,本来不是特别熟悉,竟然几乎全部忘记了。于是,立刻写这篇博客来总结一下。这是我写的其中一个程序,大概的逻辑流程。

    注意:导入前两个jar包

    1.这个是项目的总体结构。

    2.web.xml 配置文件 

    是自动生成的,没有改,这里主要使用junit4 进行测试了,没有涉及到页面的交互。

    3.springmvc-servlet.xml配置文件

    <!-- xsl -->
    	<!--xml能引入多个 dtd (之前) xsd 一般称为scheme 一般称为 定义的xml的语法 元数据文件 -->
    	<!-- <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    		xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> -->
    		
    	<!-- <bean id="u" class="com.dao.impl.UserDAOImpl"> -->
    
    	<bean id="userDAO" class="com.dao.impl.UserDAOImpl"> 
    		<!-- <property name="daoId"></property> -->
    		<!-- <property name="daoStatus" value="good"></property> -->
    		<property name="daoId" value="1"></property>  //userdaoImple实现了userdao的接口,在里面有个daoId属性,spring 框架做的事情,就是把在这里赋的值
    传到类里。用下面的方法赋给了类。

                          public void setDaoId(int daoId) {
                            this.daoId = daoId;
                          }

                 此为userdaoimple 里的set,get方法
    	</bean>
    
    	<bean id="userDAO1" class="com.dao.impl.UserDAOImpl">
    		<property name="daoId" value="2"></property>
    	</bean>
    
    	 <bean id="userService" class="com.service.UserService">
    		
    		 </bean> 
    

      

    3.此为userdaoimple方法(省略set,get方法)

    public class UserDAOImpl implements UserDAO{
    
        private int daoId;
        private String daoStatus;
        
        private Set<String>  sets;
    	private List<String> lists; 
    	private Map<String,String> maps;
    

    4.此为user类方法

    public class User {
    
    	private String username;
    	private String password;
    	public
    

    5.此为userdao接口方法

    public interface UserDAO {
    	
    	
    	public void save(User u);
    }
    

    6.此为service类

    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Qualifier;
    
    import com.dao.UserDAO;
    import com.model.User;
    
    //功能   存入数据库之前  业务逻辑 认证
    public class UserService {
    	
    	private UserDAO userDAO;
    	/*public UserService(UserDAO userDAO){
    		super();
    		this.userDAO=userDAO;
    	}*/
    	//private UserDAO userDAO =new UserDAOImpl();
    	
    	//在实现中可以写多个 oracle、mysql, 用哪个new 谁 面向抽象编程
    	
    	public void init(){
    		System.out.println("init");
    	}
    	
    	
    	public UserDAO getUserDAO() {
    		return userDAO;
    	} 
    	
    	@Autowired  //必须有参数为空的构造方法 
    	//autowire="by type"
    	public void setUserDAO(@Qualifier("userDAO")UserDAO userDAO) {
    		this.userDAO = userDAO;
    	}
    	//@Qualifier 可以指定到底哪个bean
    	
    	public void add(User user){
    		userDAO.save(user);
    	}
      
    	public void destroy(){
    		System.out.println("destroy");
    	}
       
    

     7.junit test包

        新建一个包test,然后在service包下选择userService类,右击新建junit test cast 文件

    import static org.junit.Assert.*;
    
    import org.junit.Test;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    import com.model.User;
    
    public class UserServiceTest {
    
    	@Test
    	public void test() {
    		fail("Not yet implemented");
    	}
    	
    	public void testAdd() {
    		 ApplicationContext   ctx =new ClassPathXmlApplicationContext("springmvc-servlet.xml"); //此处规定了,映射了springmvc-servlet.xml 文件
    		  //UserDAO u1=(UserDAO)ctx.getBean("userDAO");
    		  
    		 	  
    		//  System.out.println(u1);
    		/*   UserService service =(UserService)ctx .getBean("userService");
    		   UserService service2 =(UserService)ctx .getBean("userService");
    		   */
    		   //System.out.println(service==service2);
    			//UserService service =new UserService();
    		/*	User u=new User();
    		    u.setUsername("zhang");
    		    u.setPassword("zhang");
    		    service.add(u);*/
    		
    		   UserService service =(UserService)ctx.getBean("userService");
    		   service.add(new User()); //服务里new 一个user() 对象。 印象中spring 框架,它把new 对象这个事情 做了,不知道理解的对不对
    		   System.out.println(service.getUserDAO());
    		
    	}
    

      

  • 相关阅读:
    python模块的作用和说明
    Python列表推导式和嵌套的列表推导式
    Python数据结构 将列表作为栈和队列使用
    Python解包参数列表及 Lambda 表达式
    Python函数标注
    Python range() 函数
    python序列和其它类型的比较
    Python教程 深入条件控制
    02爬虫requests请求库
    1
  • 原文地址:https://www.cnblogs.com/elenz/p/5998200.html
Copyright © 2011-2022 走看看