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

原文地址:https://www.cnblogs.com/hamawep789/p/10763015.html