zoukankan      html  css  js  c++  java
  • spring入门

    1、spring IOC的理解

    IOC翻译成中文即控制反转的意思,它不是一种技术,而是一种设计思想。在java开发中'IOC'意味这我们将设计好的POJO类的控制权交给容器,而不是在我们程序中直接控制。传统java开发中,对象实例创建的控制权掌握的程序手中,也就是我们要得到一个对象实例,要在程序中手动的去new出一个对象。而IOC有一个容器专门来创建这些对象实例,这样对象实例的创建权便掌握在了IOC容器手中了。当程序中有了IOC容器后,该容器中的所有对象都会被自动创建实例,当程序员需要用到这些对象实例时,只需要去获取就可以,而不用创建出对象实例。

    2、spring环境配置

    1、spring官网下载STS

    这是一个集成了spring环境的eclipse IDE,当然也可以通过在原有的eclipse中去配置,不过我还直接用STS方便一点

    2、使用maven创建工程,添加spring所需的依赖

    所需添加的依赖jar,只要添加下面三个就可以,其他依赖的,maven会自动帮我们添加

    • spring-context
    • commons-logging-api
    • log4j

    3、spring入门示例

    1、创建POJO类

        public class User {
    	    private int id;
    	    private String username;
    	    private String password;
    	
    	    public User() {	
    		    super();
    		    System.out.println("User类的构造器被调用了");
    	    }
    	
    	    public int getId() {
    		    return id;
    	    }
            public void setId(int id) {
    		    this.id = id;
    	    }
    	    public String getUsername() {
    		    return username;
            }
            public void setUsername(String username) {
    		    this.username = username;
    	    }
    	    public String getPassword() {
    		    return password;
    	    }
    	    public void setPassword(String password) {
    		    this.password = password;
    	    }
    	
        }
    

    2、创建spring bean配置文件

    <?xml version="1.0" encoding="UTF-8"?>
    <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">
    
    	<!-- 
    		1、一对bean标签即代表一个POJO类
    		2、属性id有程序员设置,一般来说建议与类名相同
    		3、属性class,即该类的全类名
    	 -->
    	<bean id="user" class="priv.wfq.spring.model.User"></bean>
    </beans>
    

    3、创建测试类

    public class UserTest {
    
    	@Test
    	public void testUserServiceImpl() {
    		//获取IOC容器
    		ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
    		
    		//通过ApplicationContext对象的getBean方法来获取对象实例
    		User user = (User) context.getBean("user");
    		
    		System.out.println(user);
    	}
    }
    

    4、测试结果

    1、获取IOC容器,并拿到User对象实例,并输出

    我们可以发现,User对象的无参构造器被调用了,最后也输出了User对象实例

    2、只获取IOC容器

    我们可以发现,程序中我们并没有去拿User对象实例,但是它的构造器仍然被调用了,说明IOC容器帮我们完成了User对象实例的工作

    4、总结

    通过上述实验结果,我们可以得出IOC容器会帮我们去做对象实例化的工作,对象的控制权由程序到IOC容器。![]

  • 相关阅读:
    网络通信socket连接数上限
    图像轮廓的提取
    C# 基础类型的快速转换
    十大编程算法助程序员走上高手之路
    椭圆的曲线模拟
    覆盖父类方法的new和override关键字
    BackgroundWorker异步更新界面
    小程序开发(七)利用SQL实现access_token的自动通知
    漫水填充(泛洪填充、油漆桶)的C#实现(解决堆溢出问题)
    SQL中获取最近的N个半年度
  • 原文地址:https://www.cnblogs.com/hamawep789/p/10763015.html
Copyright © 2011-2022 走看看