天天看点

Spring基础(二)——IOC反转控制和DI依赖注入

Spring基础(二)——IOC反转控制和DI依赖注入
Spring基础(二)——IOC反转控制和DI依赖注入
package bean;

public class User {

    private Integer u_id;
    private String u_username;
    private String u_password;

    public Integer getU_id() {
        return u_id;
    }

    public void setU_id(Integer u_id) {
        this.u_id = u_id;
    }

    public String getU_username() {
        return u_username;
    }

    public void setU_username(String u_username) {
        this.u_username = u_username;
    }

    public String getU_password() {
        return u_password;
    }

    public void setU_password(String u_password) {
        this.u_password = u_password;
    }

    @Override
    public String toString() {
        return "User{" +
                "u_id=" + u_id +
                ", u_username='" + u_username + '\'' +
                ", u_password='" + u_password + '\'' +
                '}';
    }
}
           
package test;


import bean.User;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class HelloSpring {

    //Test注解没有主函数main也可以运行
    //在之前项目中new对象是我们自己做的
    @Test
    public void Test1(){
        User u = new User();
        u.setU_id(1);
        System.out.println(u);
    }

    //Spring是一个容器,它将帮我们管理对象
    //IOC的反转:创建对象这份工作由我们自己执行反转给spring帮我们执行;
    //IOC的控制:由spring帮我们负责创建和销毁对象,掌控对象的生命周期等,我们在需要使用对象的时候跟spring申请即可
    //IOC是一种编程思想,也是一种新的设计模式,需要依赖注入技术的支持
    @Test
    public void Test2(){

        //根据spring配置文件获取容器对象
        ApplicationContext ac = new ClassPathXmlApplicationContext("Spring_config.xml");
        //User u = (User) ac.getBean("user");
        //通过getbean获取配置好的user对象(程序员向spring容器要对象)
        User u = ac.getBean(User.class);
        System.out.println(u);
    }
}
           
Spring基础(二)——IOC反转控制和DI依赖注入