#Spring#spring小程序,简单介绍spring的使用
2016-06-10 12:05
561 查看
这篇文章主要介绍spring的一个小程序,初步认识spring。
spring为企业应用的开发提供了一个轻量级的解决方案。该解决方案包括:基于依赖注入的核心机制,基于
AOP的声明式事务管理,与多种持久层技术的整合,以及优秀的WEB MVC框架等,Spring致力于javaEE应用各层的解决方案,而不是仅仅专注于某一层的方案。可以说:spring是企业应用开发的“一站式”选择,Spring贯穿表现层,业务层,持久层。然而,Spring并不想取代那些已有的框架,而是高度的开放性与它们无缝整合。
总结起来,spring具有如下有点:
1、低侵入式设计,代码污染级低
2、独立于各种应用服务器,基于spring框架的应用,可以真正实现Write Once、Run Anywhere的承诺
3、spring的DI容器降低了业务对象 替换的复杂性,提高了组件之间的解耦。
4、spring的AOP支持允许将一些通用业务如安全,事务,日志等进行集中式处理,从而提供更好的复用
5、 spring的ORM和DAO提供了与第三方持久层的框架的良好整合,并简化了底层的数据库访问。
6、spring的高度开放性,并不强制应用完全依赖与spring ,开发者可自由选用spring框架部分或全部
下面就写一个简单的例子,初窥spring的奥秘。
1、引出spring的jar包
打开eclipse,新一个maven工程。File->New->Maven
Project。把Create a simple project(skip archetype selection)的框框勾上,
点Next。然后输入Group id和Artifact id之后,点 Finish。
接着打开pom.xml配置文件,加入以下依赖:
完成之后打开查看这里:
如果加入的jar包跟上图一样,那就证明spring的包已经导入。
2、新建spring的配置文件
在src/main/resources目录右击->New->Other,在Wizards:的框框里输入xml,选择XMl
File,点Next,键入文件名,然后按Finish。 打开新建的xml文件,加入以下代码:
3、新建一个测试类
ApplicationContext的中文意思是“应用上下文”,继承自BeanFactory接口,实用的Bean工厂ApplicationContext。ClassPathXmlApplicationContext是它的实现类,参数为xml配置文件的文件名字符串。
文件Ctrl+S保存后,按Ctrl+F11运行该程序,就会获得类似下文结果:
4、 实现用bean标签的方式来获得实例
新建Java文件:
然后在spring的配置文件中加入代码段:
id属性是该bean的唯一标识,小写开头,class属性是要交给bean管理的java类所在路径,有包名要加上包名。
接着在SpringTest.java中加入以下代码:
使用getBean的方式获得实例,相当于new一个实例出来,这样的好处就是减少了程序的依赖性。
运行SpringTest.java,就会获得如下结果:
至此,整个流程已完成。
spring为企业应用的开发提供了一个轻量级的解决方案。该解决方案包括:基于依赖注入的核心机制,基于
AOP的声明式事务管理,与多种持久层技术的整合,以及优秀的WEB MVC框架等,Spring致力于javaEE应用各层的解决方案,而不是仅仅专注于某一层的方案。可以说:spring是企业应用开发的“一站式”选择,Spring贯穿表现层,业务层,持久层。然而,Spring并不想取代那些已有的框架,而是高度的开放性与它们无缝整合。
总结起来,spring具有如下有点:
1、低侵入式设计,代码污染级低
2、独立于各种应用服务器,基于spring框架的应用,可以真正实现Write Once、Run Anywhere的承诺
3、spring的DI容器降低了业务对象 替换的复杂性,提高了组件之间的解耦。
4、spring的AOP支持允许将一些通用业务如安全,事务,日志等进行集中式处理,从而提供更好的复用
5、 spring的ORM和DAO提供了与第三方持久层的框架的良好整合,并简化了底层的数据库访问。
6、spring的高度开放性,并不强制应用完全依赖与spring ,开发者可自由选用spring框架部分或全部
下面就写一个简单的例子,初窥spring的奥秘。
1、引出spring的jar包
打开eclipse,新一个maven工程。File->New->Maven
Project。把Create a simple project(skip archetype selection)的框框勾上,
点Next。然后输入Group id和Artifact id之后,点 Finish。
接着打开pom.xml配置文件,加入以下依赖:
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.1.6.RELEASE</version> </dependency> </dependencies>
完成之后打开查看这里:
如果加入的jar包跟上图一样,那就证明spring的包已经导入。
2、新建spring的配置文件
在src/main/resources目录右击->New->Other,在Wizards:的框框里输入xml,选择XMl
File,点Next,键入文件名,然后按Finish。 打开新建的xml文件,加入以下代码:
<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-3.1.xsd"> </beans>
3、新建一个测试类
import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class SpringTest { public static void main(String[] args) { //从类路径加载配置文件spring.xml ApplicationContext ac=new ClassPathXmlApplicationContext("spring.xml"); //输出获得ac实例的地址 System.out.println(ac); } }
ApplicationContext的中文意思是“应用上下文”,继承自BeanFactory接口,实用的Bean工厂ApplicationContext。ClassPathXmlApplicationContext是它的实现类,参数为xml配置文件的文件名字符串。
文件Ctrl+S保存后,按Ctrl+F11运行该程序,就会获得类似下文结果:
org.springframework.context.support.ClassPathXmlApplicationContext@7eda2dbb: startup date [Fri Jun 10 11:22:41 CST 2016]; root of context hierarchy
4、 实现用bean标签的方式来获得实例
新建Java文件:
public class PersonService { private String name; private int age; public void setName(String name) { this.name = name; } public void setAge(int age) { this.age = age; } public void print(){ System.out.println("姓名:"+name); System.out.println("年龄:"+age); } }
然后在spring的配置文件中加入代码段:
<!-- 定义bean,id属性是该bean的唯一标识,小写开头,class属性是要交给bean管理的java类所在路径,有包名要加上包名 --> <bean id="personService" class="PersonService"> <!-- 通过property实现spring的依赖注入--> <property name="name" va a1fb lue="Java"></property> <property name="age" value="21"></property> </bean>
id属性是该bean的唯一标识,小写开头,class属性是要交给bean管理的java类所在路径,有包名要加上包名。
接着在SpringTest.java中加入以下代码:
//获取id为personService的bean //这段代码相当于PersonService ps=new PersonService(); PersonService ps=ac.getBean("personService",PersonService.class); //可以直接调用print方法 ps.print();
使用getBean的方式获得实例,相当于new一个实例出来,这样的好处就是减少了程序的依赖性。
运行SpringTest.java,就会获得如下结果:
姓名:Java 年龄:21
至此,整个流程已完成。
相关文章推荐
- 分享微信开发Html5轻游戏中的几个坑
- 一个jar包里的网站
- 一个jar包里的网站之文件上传
- 一个jar包里的网站之返回对媒体类型
- Spring和ThreadLocal
- Spring Boot 开发微服务
- Spring AOP动态代理-切面
- Patrol 7 架构下?的处理方法
- Spring整合Quartz(JobDetailBean方式)
- Spring整合Quartz(JobDetailBean方式)
- 中病毒后常用的解决方法病毒终极解决方案
- QQ尾巴 InfoMs.Ime 解决方案
- IE对CSS样式表的限制分析与解决方案
- 开源MySQL高效数据仓库解决方案:Infobright详细介绍
- C# MVC模式下商品抽奖功能实现
- Zend的MVC机制使用分析(二)
- ASP.NET MVC 4 捆绑和缩小实例介绍
- ASP.NET Mvc开发之查询数据
- ASP.NET MVC中将控制器分离到类库的实现