• 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地址

  • 相关阅读:
    SpringBoot中mybatis配置自动转换驼峰标识没有生效
    spring boot 配置动态刷新
    读书笔记——spring cloud 中 HystrixCommand的四种执行方式简述
    spring cloud 加入配置中心后的 部分 配置文件优先级
    spring boot 服务 正确关闭方式
    CentOS 6.4 安装 rabbitmq(3.6.15)
    CentOS 6.4 配置DNS
    CentOS 查看系统版本号
    服务治理的技术点
    【转载】C#中使用Average方法对List集合中相应元素求平均值
  • 原文地址:https://www.cnblogs.com/frankwin608/p/9284938.html
Copyright © 2020-2023  润新知