三大框架之Spring (初级学习 1)

1. applicationContext.xml 文件的配置

需要导的包:(4+1) 包可以在Spring 官网上面下载

三大框架之Spring (初级学习 1)_第1张图片

能实现的功能:

  1. DI:Dependency Inject 依赖注入 创建对象时动态为属性赋值

  2. IOC 是 Spring 帮我们创建对象,DI 是 Spring 帮我们为属性赋值



<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">

    
    

    
    

    
    <bean id="car" class="com.zhiyou100.model.Car" autowire="byType" lazy-init="true" p:price="1000" p:name="#{user.name + ' 的车'}" >

        
        

        

        

        
        

        
        
        
        
        

        
        
        

        

         
         

         <property name="colors">
            <array>
                <value>红色value>
                <value>黄色value>
                <value>蓝色value>
            array>
         property>

         
    bean>

    
    <bean id="user" name="user" class="com.zhiyou100.model.User"
        scope="singleton" lazy-init="default">


    bean>



    

beans>

2. Test 获取:

在xml文件配置好后,我们没必要 User user = new User(); 这样来获取对象了
// Context:上下文,容器,运行环境
1 . // 读取配置文件内容,并把解析的结果存入 ApplicationContext 中

    ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

2 . 获取对象:

 User user = context.getBean("user");

/*  在 xml 配置文件中:
         * scope 默认值是:singleton,表示采用单例模式,
         *      user2 和 user 是同一个对象,名字相同
         * 
         * 如果设置为 prototype,每次都返回一个新的对象,
         *      user2 和 user 不相同,名字不一样
         * 
         * 没有特殊情况,一般使用默认的单例模式
         * 
         */

你可能感兴趣的:(spring)