• Spring实践系列-入门篇(一)


    本文主要介绍了在本地搭建并运行一个Spring应用,演示了Spring依赖注入的特性


    1 环境搭建

    1.1 Maven依赖

    目前只用到依赖注入的功能,故以下三个包已满足使用。

        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <maven.compiler.source>1.8</maven.compiler.source>
            <maven.compiler.target>1.8</maven.compiler.target>
            <spring.version>5.0.7.RELEASE</spring.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-beans</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>${spring.version}</version>
            </dependency>
        </dependencies>
    

    1.2 Spring相关配置

    在resources目录新建spring-config.xml文件,主要内容如下:

        <!--配置包扫描路径-->
        <context:component-scan base-package="com.study"></context:component-scan>
    
        <!--启用注解-->
        <context:annotation-config></context:annotation-config>
    

    1.3 主要代码

    只展示ProductServiceImpl.java和APP.java文件,其他工程代码放到了GitHub上。

    package com.study.service.impl;
    
    import com.study.service.ProductService;
    import org.springframework.stereotype.Service;
    
    /**
     * @author frankwin608
     * @create 2018-07-09 23:56
     * @desc 商品服务实现类
     **/
    @Service
    public class ProductServiceImpl implements ProductService{
    
        @Override
        public String queryProductNameById(String id) {
            return "Hello Kitty";
        }
    }
    
    public class App {
        public static void main(String[] args) {
            ApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"spring-config.xml"});
            ProductService productService = (ProductService) context.getBean("productServiceImpl");
            String productname = productService.queryProductNameById("23333");
            System.out.println("productname = " + productname);
        }
    }
    

    2 运行结果

    3 总结分析

    (1)通过context:annotation-config开启支持注解模式
    (2)通过context:component-scan设置扫描,base-package指定了扫描的包路径
    (3)在ProductServiceImpl类中将该类注解为@Service,该注解将该类标记为一个bean,交由Spring容器进行管理
    (4)在App类中,通过读取配置文件并通过上下文的getBean方法获得productServiceImpl的实例,最后调用相应的方法获得结果。
    (5)通过引入Spring的自动注入(实例化)的功能减少了自己手动new对象(具体好处参考Spring依赖注入的好处),

    4 相关代码下载

    Spring实践系列-入门篇(一)GitHub地址

  • 相关阅读:
    【Angular】笔记(2):从前端基本知识认识Angular
    【Angular】笔记(1):使用.NET Framework类比认识Angular
    【C#】笔记(2):哈希表
    【WinForm】杂记(6):C#之DataTable类(总结)
    【C#】笔记(1):科学计算
    【WinForm】杂记(5):C#导入Excel到DataTable
    【WinForm】杂记(4):C#编写和调用exe程序(带参数)
    从mixin到new和prototype:Javascript原型机制详解
    亲身体验函数的柯里化
    简单理解jsonp原理
  • 原文地址:https://www.cnblogs.com/frankwin608/p/9284938.html
Copyright © 2020-2023  润新知