• JAVAEE开发之Spring中的依赖注入


    软件152 王程燕

    一、快速创建Mava管理的Spring工程

    如下所示找到File->New->Maven Project选项来创建一个新的Maven Project,具体如下所示:

    创建好上述工程后,我们要在pom.xml中引入我们的Spring依赖包。下方xml就是pom.xml中的内容。我们先引入了spring-context包,如下所示:

    <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.zeluli</groupId>
      <artifactId>SpringDemoWithMaven</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      
        <properties>
          <java.version>1.8</java.version>
          <spring.version>4.3.6.RELEASE</spring.version>
      </properties>
      
      <dependencies>
      <!-- Spring 核心包的引入 -->
          <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>spring-context</artifactId>
              <version>${spring.version}</version>
          </dependency>
          
      </dependencies>
      
      <build>
          <plugins>
              <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-complier-plugin</artifactId>
                  <version>3.3.9</version>
                  <configuration>
                      <source>${java.version}</source>
                      <target>${java.version}</target>
                  </configuration>
              </plugin>
          </plugins>
      </build>
    </project>
    

      二、Spring中的依赖注入

    1、使用注解实现依赖注入

    (1) @Repository

    下方代码片段就是使用@Repository注解来声明的Bean,在数据访问层会使用该注解来声明DAO层的Bean。稍后我们会使用到下方的RepositoryBean。

    (2) @Service

    下方是我们使用@Service来声明的Bean,在业务逻辑层,我们会使用到@Service注解进行Bean的声明。在下方代码段中,我们使用@Service声明ServiceBean后,在该类中,我们注入了RepositoryBean的对象。当然使用的是@Autowired来注解的依赖对象的注入点。也就是说,在运行时,会动态的给下方的repositoryBean分配一个RepositoryBean的对象。如下所示:

    (3) @Component

    @Component是用来声明组件的,也就是说你封装了一个组件,这个组件就是使用@Component来进行注解,使其可以被注入。下方就是使用了@Component注解声明的组件。稍后我们会在Controller中进行调用。

     

    (4) @Controller

    接下来我们就使用@Controller来声明我们的控制器,下方的ControllerBean就是我们的控制器类,当然此处我们使用@Controller进行的注解。然后在该控制器类中,我们使用了@Autowired注解来注入ServiceBean和ComponentBean的对象,然后在下方相应的方法中进行了使用。

    (5)、创建Spring的配置文件

    接下来我们将创建Spring的配置文件,因为Spring可以通过此配置文件读取一些上下文的信息。当然,Spring的配置文件其实就是一个Java类,然后我们使用@Configuration进行修饰即可。而@ComponentScan("包名")负责指定组件所在的包,也就是说设置完该项后,Spring会自动扫描该包下的@Component、@Service、@Repository、@Controller这些注解。

     

    (6)、创建Main函数进行测试

    上面一些列的Bean已经创建完毕,接下来,我们要创建我们测试用的Main函数了。首先我们使用注解配置上下文AnnotationConfigApplicationContext对象来从Java的配置文件中获取Spring的上下文。然后获取Controller Bean,下方是调用Controller Bean的相应的方法。最后再将调用的资源关闭掉即可。

    (7)、运行结果

    上述实现完Main方法后,接下来我们就可以对其运行并看起运行效果了。具体运行结果如下所示:

  • 相关阅读:
    Http方法:Get请求与Post请求的区别
    udev和rules使用规则
    c++中的动态内存分配
    c++中重载运算符
    c++中静态成员函数
    c++中值传递,址传递,引用传递
    c++中实现单例模式singleton class
    [Windows篇] 在windows 10上源码编译gtest 并编写CMakeLists.txt
    [Ubuntu篇] 在ubuntu上源码编译gtest,编写gtest-config.cmake并测试
    使用boost data_time模块来获取毫秒级时间并转换为string字符串
  • 原文地址:https://www.cnblogs.com/bigbangtop/p/7092817.html
Copyright © 2020-2023  润新知