Spring初学


 

Spring 是一个  "容器类型的的框架!" 

在他看来所有的组件都可以用"bean" 来表述

"它既可以在web环境下装配Bean 当然也可以在Java项目下装配bean"

每个组件就是一个"bean" 他的核心就是IOC "控制反转"  -既是实例化对象的行为 反转给了Spring容器/

                   DI "依赖注入"  Spring 可以通过配置文件来注入各个bean的属性值<propety name=""  value=... "[ref='']"/>

简单的案例   java项目下:只需要导入 spring.jar / aptch-commons.jar就可以了

1、首先是spring的核心配置文件 applicationContext.xml 该文件用于"配置bean就是组件"和"建立"组件间的关系  使用的验证格式是Schema 不是DTD

2、配置一个简单的Bean  user

<beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:aop="http://www.springframework.org/schema/aop"
        xmlns:tx="http://www.springframework.org/schema/tx"
        xsi:schemaLocation="
            http://www.springframework.org/schema/beans 
            http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
            http://www.springframework.org/schema/aop    <!--spring提出的新思想面向切面编程 此示例可以不使用--> 
            http://www.springframework.org/schema/aop/spring-aop-2.5.xsd   <!--同上-->
            http://www.springframework.org/schema/tx                       <!--spring  的事务管理机制的配置   -->
            http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">   

    <bean id="user" class="com.fengyi.domin.Users" scope="[singleTime][prototype][request][session][globosession][五中bean的生命周期 默认singleTime]">
        <property name="userName" value="张三"/>
        <property name="password" value="123456"/>
    </bean>

</beans>

该USERbean对应的Java类是

package com.fengyi.domin;

import java.io.Serializable;
public class Users implements Serializable {

    private static final long serialVersionUID = 1L;

    private  String  userName  ;
    
    private  String  password  ;
    
    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;
    }
    
    public String toString() {
            
        return "我叫:" +this.userName + ":: 密码是"+this.password ;
    }
}

创建一个包 简历主函数 通过Spring调用该bean得到User对象

import com.fengyi.domin.Users;

public class Test {

    public static void main(String[] args) {
        
        //通过ClassPathXmlApplicationContext 对象拿到访问 spring容器拿到Spring容器中的bean
        ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
        //该方法一旦建立容器对象就会 实例化轻重的bean对象
        Users user = (Users)app.getBean("user");
        System.out.println(user);
        
        //通过BeanFactory bean工厂中拿到
        BeanFactory beanfactory = new XmlBeanFactory( new ClassPathResource("applicationContext.xml"));
        //该bean工厂中拿到的bean 只在真正使用时才进行实例化
        Users us = (Users)beanfactory.getBean("user");
        System.out.println(us);
    }

}


 

每一天的成长!
原文地址:https://www.cnblogs.com/javafengyi/p/Spring.html