神刀安全网

Spring第一个程序

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第一个程序

分享到:更多 ()