Spring初学快速入门

Spring框架 

下图显示了Spring框架的结构。

  1. IoC Container: 这是最重要的,也是最基础的, Spring的基础。它的作用是配置和Java对象的生命周期管理
  2. DAO, ORM, AOP, WEB: 该模块可用于将工具或框架集成到了Spring。 

反转控制和依赖注入

要了解这个问题,我们使用以下几类:

public interface HelloWorld {
    public void sayHello();
}
 

public class SpringHelloWorld implements HelloWorld {
   public void sayHello()  {
           System.out.println("Spring say Hello!");
   }
}
 

public class StrutsHelloWorld implements HelloWorld {
   public void sayHello()  {
           System.out.println("Struts say Hello!");
   }
}
 
 

public class HelloWorldService {
    
    
     private HelloWorld helloWorld;
    
    
     public HelloWorldService()  {
           this.helloWorld = new StrutsHelloWorld();
     }
 
}

 

显而易见的是 HelloWorldService 类管理创建 HelloWorld 对象。

- 另外,在上述情况下,当 HelloWorldService 对象从它的构造创建时,HelloWorld对象也被创建了。 它是从StrutsHelloWorld 创建。

现在的问题是,您要创建一个HelloWorldService对象,HelloWorld对象也同时被创建,但它必须是SpringHelloWorld。

所以 HelloWorldService 是控制“对象创建” Hello World 的。我们为什么不创建 Hello World 转让由第三方,

而是使用 HelloWorldService ?因为我们有“反转控制”(IOC)的定义。
并且IoC容器将充当管理者角色,创建了HelloWorldService 和 HelloWorld 。

IoC = Inversion of Control 

 

IoC容器创建 HelloWorldService 对象,是通过 setter 方法传递 HelloWorld 对象到HelloWorldService。IoC容器做的是“依赖注入”到HelloWorldService。这里的相关性是指对象之间的依赖关系: HelloWorldService 和 helloWorld.

在这一点上,我们已经明确了什么是 IoC和DI。让我们举个例子来更好的理解。

创建项目 

您的项目已创建:

 

确保您的项目是建立在Java7或更高版本。右键单击该项目并选择属性

声明Spring的基础库

这是 Spring的 HelloWorld 例子,所以我们只使用基本的Spring库(核心)。打开pom.xml文件来将使用的库声明:
  • pom.xml 使用以下内容重新覆盖原上面的内容。 
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>com.tan</groupId>
      <artifactId>HelloSpring</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      
      
           <dependencies>
     
            <!-- Spring Core -->
            <!-- http://mvnrepository.com/artifact/org.springframework/spring-core -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>4.1.4.RELEASE</version>
            </dependency>
             
            <!-- Spring Context -->
            <!-- http://mvnrepository.com/artifact/org.springframework/spring-context -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>4.1.4.RELEASE</version>
            </dependency>
             
        </dependencies>
      
    </project>

    工程代码 

  • 运行示例

  • Spring的工作原理 

  • beans.xml
    • 这是一个配置文件,您可以在这里声明Java bean。
    可以通过读取beans.xml 文件来创建一个应用程序上下文对象
    ApplicationContext context =
                    newClassPathXmlApplicationContext("beans.xml");
    

      IoC容器中,其作用是作为第三种角色,它的任务是创建 beans.xml 文件中声明的 Java Bean 对象。并通过setter方法注入依赖

    在这个例子中,HelloWorldService 是一个 java bean 注入依赖。
    <!-- beans.xml -->
     
    <beanid="helloWorldService"
        class="com.yiibai.tutorial.spring.helloworld.HelloWorldService">
        
        <!-- Call: helloWorldService.setHelloWorld(springHelloWorld) -->
        <propertyname="helloWorld"ref="springHelloWorld"/>
     
    </bean>
    

     

    使用Spring MVC - 编写Web应用程序

    接下来,你可以学习使用Spring MVC编写Web应用程序:

猜你喜欢

转载自www.cnblogs.com/tanlei-sxs/p/9681955.html