美文网首页
初学Java Spring

初学Java Spring

作者: 老和山风控学院 | 来源:发表于2017-05-01 23:48 被阅读0次

    最近刚开始接触java spring框架相关知识,将最近整理的学习资料记录下:

    Java Spring 初探

    • 本部分内容主要对Spring中的核心的IoC Container,反向控制进行解释,如下图为经典的spring 框架
    image.png
    • IoC 全称为inversion of control, 是Java Spring中非常核心的部分,主要用来配置和管理java 对象的生命周期。

    • 接下来通过一个例子来详细描述IoC是如何进行控制的。

    1. 首先创建一个工程 Java Maven Project,勾选create a simple project
    image.png

    2.填写artifact。

    image.png

    3.在pom.xml中引入java spring 的jar包依赖

    <pre><code>
    <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.testSpring</groupId>
    <artifactId>TestSpring</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>
    </code></pre>

    <blockquote><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.testSpring</groupId>
    <artifactId>TestSpring</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></blockquote>

    4.开始Spring 的编程

    • 一般Spring中都会有面向接口编程的良好体现,所以我们首先创建一个HelloWorld的接口:
    image.png

    <blockquote>
    package com.testSpring;

    public interface HelloWorld {

    public void sayHello();
    

    }

    </blockquote>

    • 然后在同一个包下建立一个helloWorld的服务
    image.png

    <blockquote>
    package com.testSpring;

    public class HelloWorldService {

    private HelloWorld helloWorld3;
    
    public HelloWorldService() {
    
    }
    
    public void setHelloWorld(HelloWorld helloWorld2) {
        this.helloWorld3 = helloWorld2;
    }
    
    public HelloWorld getHelloWorld() {
        return this.helloWorld3;
    }
    

    }
    </blockquote>

    • 创建业务代码,去实现接口
      <blockquote>
      package com.testSpring.imp;

    import com.testSpring.HelloWorld;

    public class SpringHelloWorld implements HelloWorld {

    public void sayHello() {
        System.out.println("Spring Say Hello!!");
    }
    

    }

    </blockquote>

    • 创建核心的IoC 控制层,beans.xml
    image.png

    <blockquote>
    <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="springHelloWorld"
        class="com.testSpring.imp.SpringHelloWorld"></bean>
    
    <bean id="strutsHelloWorld"
        class="com.testSpring.imp.StrutsHelloWorld"></bean>
    
    
    <bean id="helloWorldService"
        class="com.testSpring.HelloWorldService">
        <property name="helloWorld" ref="SpringHelloWorld" />
    </bean>
    

    </beans>
    </blockquote>

    • 最后创建main函数入口用于启动beans.xml
    image.png

    <blockquote>
    package com.testSpring.main;

    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    import com.testSpring.HelloWorld;
    import com.testSpring.HelloWorldService;

    public class startHelloWorld {
    public static void main(String[] args) {

        ApplicationContext context =
                new ClassPathXmlApplicationContext("beans.xml");
         
        HelloWorldService service =
             (HelloWorldService) context.getBean("helloWorldService");
          
        HelloWorld hw= service.getHelloWorld();
         
        hw.sayHello();
    }
    

    }
    </blockquote>

    具体运行过程过程主要如下:

    image.png

    核心的IoC创建 java bean业务,由于在bean.xml中注册了springHelloWorld业务(一般是通过settle方法导入到HelloWorldService中),也就是实例化的springHelloWorld被命名为helloWorld并传入到了settle器中,然后在主函数中执行

    image.png

    从而创建了service的内容,并打印了其方法。
    从上述过程中可以了解到,基本spring是做到了业务层和控制层的分离。

    本项目工程链接

    相关文章

      网友评论

          本文标题:初学Java Spring

          本文链接:https://www.haomeiwen.com/subject/hyuqtxtx.html