专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

在eclipse中配置一个简单的Spring入门项目

  spring是一个很优秀的基于Java的轻量级开源框架,为了解决企业级应用的复杂性而创建的,spring不仅可用于服务器端开发,从简单性、可测试性和松耦合性的角度,任何java应用程序都可以利用这个思路进行开发,Spring的核心就是控制反转(IoC)和面向切面(AOP),总的来说,Spring是一个分层的Java轻量级框架

  所谓控制反转就是利用某种技术实现低耦合,对象之间相互的依赖关系是通过被动的方式传递进来,而不是对象主动进行另外对象的使用和查找,就是说控制权交给了容器,在初始化的时候,容器将实例化好的对象不用请求就主动传递过来,开发过程中不用进行任何的实例化对象就可以使用对象的方法,使用起来也感觉更加的轻松,所有的对象在spring中都是一个bean,spring提供了一种完善的javabean的依赖管理,实际上就是常说的依赖注入,是通过依赖注入的方式实现了控制反转的操作

  面向切面就是通过分离应用程序的业务逻辑和系统级服务,进行高内聚性的开发,应用对象只完成自己该完成的业务逻辑操作,其他的完全不必考虑,例如系统日志或其他事务等系统服务级操作对象完全不必关心,这样模块化更加清晰,更加适用于逻辑复杂的业务系统

  刚接触spring时会出现很多不好理解的概念,下面从一个最简单的例子开始,进入spring的学习,让spring更加的形象

  首先去spring官网下载spring framework框架,官网地址就是spring.io,一个非常简洁的页面

  53_1.png

  然后点击导航栏的PROJECTS,看到一些比较大块的项目,单击SPRING FRAMEWORK

  53_2.png

  然后就进入了spring framework的首页,网址是http://projects.spring.io/spring-framework/,向下拉右面有一些介绍文档点击超链接就可以,或者点击下面的”the modules section fo the reference documentation”超链接查看文档

  53_3.png

  然后,就看到了很有名的一张图片就是spring framework框架的架构原理图

  53_4.png

  通过这张图可以清楚的看出spring的大体构成,继续下拉页面,点击超链接:http://repo.spring.io/release/org/springframework/spring/

  53_5.png

  这个就是最后的下载地址了,里面有所有的历史版本,自己可以根据需要选择下载,

  53_6.png

  我这里下载的是最新的spring framework 4.2.4完整版本:spring-framework-4.2.4.RELEASE-dist.zip,也就是第一个,下载之后解压出来即可

  53_7.png

  解压好之后,打开下面的libs目录,这里面就是spring framework所有的jar包了,我们打开eclipse建立一个项目,普通项目或者web项目都可以

  然后,我们复制必要的jar包,放到项目的某一个指定目录下或者web项目的lib目录下,需要的jar包如下图:

  53_8.png

  这些就是项目所必须的jar包,需要扩展功能可以根据实际需要导入,复制之后如果是web项目会自动导入到项目,如果是普通项目则需要Build Path导入一下就可以使用了,其中junit-4.1.0.jar不是必须的,这只是单元测试所需要的一个jar包;commons-logging-1.2.jar项目中是没有的,它是Apache的日志管理工具,spring为了所有的java应用程序进行统一的日志接口管理,所以需要下载commons-logging.jar这个包,下载地址是:http://commons.apache.org/proper/commons-logging/index.html,进入后点击Download下载就行,然后和spring的包一起导入

  包都导入完毕了,接下来实现一个很简单的功能,我们建立一个接口,实现的就是输出一句话,代码如下:

 package net.zengzhiying.spring;

 public interface IHelloMessage {
     public String sayHello();
 }

  有两个类分别实现这个接口,分别返回中文的”大家好!”和英文的”HelloWorld!”,代码如下:

 package net.zengzhiying.spring;

 public class HelloChina implements IHelloMessage {

     @Override
     public String sayHello() {
         return "大家好!";
     }

 }
 package net.zengzhiying.spring;

 public class HelloWorld implements IHelloMessage {

     @Override
     public String sayHello() {
         return "HelloWorld!";
     }

 }

  按照一般的使用,我们会分别实例化对象调用里面的方法使用,或者利用多态的概念通过接口来统一实例化对象使用里面的方法,其实有了spring就不用了,我们现在建立一个实体的类,用来放置接口实例化出的对象,

 package net.zengzhiying.spring;

 public class Person {
     private IHelloMessage helloMessage;

     public Person() {

     }

     //带参构造器注入
     public Person(IHelloMessage helloMessage) {
         this.helloMessage = helloMessage;
     }

     public IHelloMessage getHelloMessage() {
         return helloMessage;
     }

     public void setHelloMessage(IHelloMessage helloMessage) {
         this.helloMessage = helloMessage;
     }

     public String sayHello() {
         return this.helloMessage.sayHello();
     }

 }

  这个类就是一个Bean,一般的规范就是属性私有,并且设置get/set方法,分别有无参的和带参的构造方法,方便使用构造器进行对象的注入,这些类编写完了,然后我们在项目根目录下编写一个配置文件helloMessage.xml,就是这个核心的配置文件,交代了spring应该怎么样对容器中的对象进行管理,所以说这个xml配置文档是spring的最重要的部分之一,我们配置代码如下:

 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN"
     "http://www.springframework.org/dtd/spring-beans.dtd">
 <beans>

 <bean id="helloWorld" class="net.zengzhiying.spring.HelloWorld"></bean>

 <bean id="helloChina" class="net.zengzhiying.spring.HelloChina"></bean>

 <bean id="person" class="net.zengzhiying.spring.Person">
     <!-- 配置依赖关系  控制反转  get/set方法注入 -->
     <!-- <property name="helloMessage" ref="helloWorld"></property> -->

     <!-- 构造器注入 -->
     <constructor-arg ref="helloWorld" />
 </bean>

 </beans>

  除了通用的头部声明外,所有的配置代码都写到里面,就是我们需要控制反转的所有类,然后后面需要向Person中进行对象的注入,可以用过get/set方法进行注入,也可以通过构造方法进行注入,name就是注入的属性名,ref就是需要将哪个类的实例化对象注入进去,这样就完成了简单的配置,也不难理解

  接下来我们配置主类,用来执行相应的方法,代码如下:

 package net.zengzhiying.spring;

 import org.springframework.beans.factory.BeanFactory;
 import org.springframework.beans.factory.xml.XmlBeanFactory;
 import org.springframework.core.io.FileSystemResource;
 import org.springframework.core.io.Resource;

 public class Main {

     public static void main(String[] args) {
         //引入配置文件
         Resource r = new FileSystemResource("helloMessage.xml");
         //加载配置文件
         BeanFactory f = new XmlBeanFactory(r);
         //获取Person实例
         Person person = (Person) f.getBean("person");
         String s = person.sayHello();
         System.out.println(s);
     }

 }

  现在只需要引入并加载配置文件,调出bean对象,然后就可以任意使用所有的类中的方法了,可以通过注入不同的类实现不同的操作,结果如下:

  53_9.png

  同样的,现在我们也可以通过注入HelloChina类来输出大家好!实现起来也比较简单

  以上就是一个简单的spring初学小例子,体现了依赖注入的方式和控制反转的思想,spring让复杂应用的开发变得清晰简单了

  

文章永久链接:https://tech.souyunku.com/47674

未经允许不得转载:搜云库技术团队 » 在eclipse中配置一个简单的Spring入门项目

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们