首页 / 技术 / 正文

Spring框架基础简介及实战开发

2015年12月24日 暂无评论 ... 技术

Spring 框架是基于 Java 语言的框架,因为其卓越的性能和极高效率的开发模式,使 Spring 几乎成为最近最为流行的企业应用框架。

Spring的核心思想是 IOC 和 AOP 。理解起来比较费劲。

可以通俗的理解,Spring 是一个内部不透明,外部有各种接口的盒子,编写程序时,程序员只需要编写需要接入盒子的外部零件,而不必去考虑其他零件之间的协调工作,Spring 的作用就是协同各个接入它的零件工作,这样一来,对于编写出来的代码,无论是编写效率还是测试成本都要比直接编写强很多。关键是 Spring 的运行效率也并不低,且可以轻易跟其他框架协作,所以自然成为了比较流行的 java 框架。

Spring开发准备条件

eclipse 作为 java 开发 IDE;

Spring 框架;

Spring 框架的官方网站被墙,所以建议搭建梯子去下载或者去中国境内其他镜像下载;

commons-logging

很容易被忽视的一个组件,这个组件不被包含在 Spring 官方下载包中,所以需要单独下载并引入程序中;

推荐 eclipse 插件 springsource-tool-suite(STS)

由于 eclipse 商店也被墙,所以下载建议通过离线的方式下载安装包,后通过 eclipse 菜单中的 Help->Install New Software 进行安装

Spirng 实战一个简单的程序

1.新建一个 java 程序,引入 Spring 框架,由于 Spring 框架内的 jar 包数量很多,并不是所有的是需要的,所以根据需要引用,核心包如下:

Spring Core

Spring Beans

Spring AOP

Spring Context

2.编写实体类,实体类中已经要编写好 set get 方法,文件 Hello.java 如下所示

  1. package com.hundsun.spring;  
  2.  
  3. public class Hello {  
  4.     private String message;  
  5.  
  6.     public String getMessage() {  
  7.         return message;  
  8.     }  
  9.  
  10.     public void setMessage(String message) {  
  11.         this.message = message;  
  12.     }  
  13.  
  14.     @Override 
  15.     public String toString() {  
  16.         return "Hello [message=" + message + "]";  
  17.     }  
  18.       

 

3.创建核心配置文件,如果安装了 STS 插件,新建文件中就会出现 Spring Bean Configuration File 的文件选项,如果没有,则需要手动编写 xml 文件,建议去其他工程中复制 xml 的头部文件。

基础头部文件如下,如果需要启用命名空间,则会发生变化,推荐使用 STS 插件自动生成。

<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">

</beans>

bean 需要在 beans 标签内进行创建和配置。

举个例子

  1. <bean id="helloWorld" class="com.hundsun.spring.HelloWorld"> 
  2.     <property name="message" value="Hello World!"/> 
  3. </bean> 

其中 bean 标签中有 id 和 class 两个属性,分别是

id:为 bean 取得名字,要保证唯一性

class:指向处理这个 bean 的类文件

bean 内还有一个 property 标签,是设置属性的标签,标签中两个属性分别是:

name:名称,必须要与上层 bean 指向的类中有对应 set 方法的属性。

value:值

配置文件 Hello.xml 文件如下所示

  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <beans xmlns="http://www.springframework.org/schema/beans" 
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  4.     xsi:schemaLocation="http://www.springframework.org/schema/beans  
  5.     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> 
  6.  
  7.     <bean id="demo" class="com.hundsun.spring.Hello"> 
  8.         <property name="message" value="HelloWorld"></property> 
  9.     </bean> 
  10. </beans> 

3.编写获取 bean 的程序,一般采取 ApplicationContext 方法获取

  1. ApplicationContext ctx =new ClassPathXmlApplicationContext("Hello.xml");  
  2. Demo demo = (Demo)ctx.getBean("demo"); 

测试类程序 Demo.java 如下

  1. package com.hundsun.spring;  
  2.  
  3. import org.springframework.context.ApplicationContext;  
  4. import org.springframework.context.support.ClassPathXmlApplicationContext;  
  5.  
  6. public class Demo {  
  7. public static void main(String[] args) {  
  8.     ApplicationContext ctx =new ClassPathXmlApplicationContext("Hello.xml");  
  9.     Hello hi = (Hello)ctx.getBean("demo");  
  10.     System.out.println(hi);  
  11. }  

 

运行结果,即可获得并打印在 Hello.java 类中编写的 message 属性。

总结

Spring 的特点是各类之间耦合度不高,因此从实例中可以见到 Hello.java 文件中只需要编写自己的内容,只需要生成好 get 和 set 方法。而配置 xml 文件是关键,配置内容还有很多丰富的规范规则。然后在测试类中可以直接通过 new IOC 对象,然后通过 getBean 对象方法获取或操作所需要的对象。

暂无评论

发布评论