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容器。![]

  • 相关阅读:
    洛谷—— P2234 [HNOI2002]营业额统计
    BZOJ——3555: [Ctsc2014]企鹅QQ
    CodeVs——T 4919 线段树练习4
    python(35)- 异常处理
    August 29th 2016 Week 36th Monday
    August 28th 2016 Week 36th Sunday
    August 27th 2016 Week 35th Saturday
    August 26th 2016 Week 35th Friday
    August 25th 2016 Week 35th Thursday
    August 24th 2016 Week 35th Wednesday
  • 原文地址:https://www.cnblogs.com/hamawep789/p/10763015.html
Copyright © 2011-2022 走看看