Spring第一个程序

作者: 杨泽龙 | 来源:发表于2018-05-28 00:26 被阅读31次
    spring.jpg

    国际惯例第一个Spring程序Hello Spring
    在用spring开发的时候不要忘了添加jar报,最基本的四个jar包(现在Spring官网推荐使用Maven的形式来下载jar包,这里就直接下载使用):

    spring-beans-4.0.5.RELEASE.Jar
    spring-context-4.0.5.RELEASE.jar
    spring-core-4.0.5.RELEASE.jar
    sprig-excpression-4.0.5.RELEASE.jar
    commons-logging-1.2.jar
    

    在没有用Spring之前获取JavaBean对象实例是通过关键字new来实现对象的初始化的,以下代码是一个JavaBean:

    public class Hello {
        private String name;
        public void setName(String name) {
            this.name = name;
        }
        public void say() {  
            System.out.println("hello"+name);
        }
    }
    

    在主函数main方法里获取该对象的实力并初始化对象

    public static void main(String[] args){
          Hello hello = new Hello();
          hello.setName("Spring");
          hello.say();
    }
    

    输出结果是:hello Spring
    原始获取JavaBean对象是同伙new关键字来实现对象初始化的创建,如果业务不同需求不同就会有很多new的实例对象创建,即消耗内存空间又造成代码的耦合度高,代码量大效率底下,所有使用Spring的IOC容器来创建和管理JavaBean可以大大减少代码的耦合,提高代码的质量和效率。


    创建Spring的IOC容器

    在Java项目类路径src下创建Spring的ioc容器SprigBean.xml由Spring容器来管理Java类:(生成xml格式可以在下载Spring资源中的scheme文件夹下找。或者在eclipse上安装Spring插件亦或下载Spring版的开发工具Spring Tool Suite便于代码编写的效率)

    <?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">
        <bean id="hello" class="springdemo.Hello">
            <property name="name" value="Spring"></property>
        </bean>
    </beans>
    
    

    <bean>标签中的#id#表示交给Spring容器管理的类的唯一标识,class属性的值为java类的全路径(通过反射原来找到该java类),这样这个Hello类就交给了spring容器管理了,id的命名规范一般用类名的首字母小写来表示。
    <property>节点标签设置属性,可以理解成Set方法给java的属性进行赋值操作,name是但前要赋值的属性名称,value是要给属性赋的值,一切工作就绪该Hello类就归Spring容器管理了


    运行程序
    public class Main {
        public static void main(String[] args) {
            ApplicationContext ac = new ClassPathXmlApplicationContext("SpringBeans.xml");
            Hello hello = (Hello) ac.getBean("hello");
            hello.say();
        }
    }
    

    通过关键字new来创建ApplicationContext接口的实现类ClassPathXmlApplicationContext对象,默认加载类路径下的xml文件,文件位SpringBeans.xml然后调用该对象方法:getBean()获取该类对象的唯一标识得到该类对象的实例,然后调用say()方法
    运行结果:Run as:hello Spring

    程序分析:

    spring容器通过class中的Java的全类名通过反射机制脚在类,给这个类起了id="hello"的唯一标识,此时Spring底层代码默认加载该Java类的无参构造方法进行类的初始化操作,又通过<property>子节点给该类执行set赋操作。从而实例化了Bean

    相关文章

      网友评论

        本文标题:Spring第一个程序

        本文链接:https://www.haomeiwen.com/subject/dymbjftx.html