Spring第一个程序

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 Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,082评论 19 139
  • 1.1 spring IoC容器和beans的简介 Spring 框架的最核心基础的功能是IoC(控制反转)容器,...
    simoscode阅读 6,761评论 2 22
  • 他是我们的一个朋友 只是现在,我们之间很少联系关于他的记忆 我们现在用时间计算: 在某一秒里,我们看见了他 而下一...
    周末哈哈哈阅读 225评论 2 6
  • 阴雨连绵数日,终于是一个没雨的傍晚,走,运动去…
    Y燕_bf61阅读 148评论 1 4