控制反转ioc理解,配置说明

先写个例子吧

控制反转ioc理解,配置说明_第1张图片

 配置文件:

控制反转ioc理解,配置说明_第2张图片

 




    
        
    

测试:

import com.heerlin.pojo.Hello;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class MyTest {
    public static void main(String[] args) {
        //获取spring上下文对象
        ApplicationContext context=new ClassPathXmlApplicationContext("beans.xml");
        //我们的对象现在都在SPRING中的管理了,我们要使用,直接去里面取出来就可以
        Hello hello = (Hello)context.getBean("hello");
        System.out.println(hello.toString());
    }
}

控制:谁来控制对象的创建,传统应用程序的对象是由程序本身控制创建的,使用Spring后,对象由Spring来创建的

反转∶程序本身不创建对象,而变成被动的接收对象.

示例二:

使用三层架构+容器

控制反转ioc理解,配置说明_第3张图片

往容器里丢东西

控制反转ioc理解,配置说明_第4张图片 

测试:

import com.heerlin.dao.UserDaoMysqlImpl;
import com.heerlin.dao.UserDaoOraclempl;
import com.heerlin.dao.UserDaolmpl;
import com.heerlin.service.UserService;
import com.heerlin.service.UserServicelmpl;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class MyTest {
    //用户实际调用的是业务层,dao层他们不需要接触
    public static void main(String[] args) {
        //获取ApplicationContext:拿到spring的容器
        ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");

        UserServicelmpl userServicelmpl=(UserServicelmpl) context.getBean("UserServiceImpl");
        userServicelmpl.getUser();
    }
}

 IOC是一种编程思想,由主动的编程变成被动的接收.
可以通过newClassPathXmlApplicationContext去浏览一下底层源码.
OK,到了现在,我们彻底不用再程序中去改动了,要实现不同的操作,只需要在xml配置文件中进行修改,所谓的loC,一句话搞定:对象由Spring来创建,管理,装配!

alias 设置别名 , 为bean设置别名 , 可以设置多个别名


Bean的配置




    

团队的合作通过import来实现 .

团队的合作通过import来实现 .

你可能感兴趣的:(java,开发语言)