Spring Framework 简介

Spring Framework 简介SpringFramework依赖注入、事务管理、Web应用程序、数据访问、消息传递、测试和更多的核心支持。Tips:Spring 官网:https://spring.io/spr

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Spring Framework

依赖注入、事务管理、Web应用程序、数据访问、消息传递、测试和更多的核心支持。

Tips:

Spring 官网:https://spring.io/

spring framework 官网:https://projects.spring.io/spring-framework/

0x01介绍

Spring框架提供了现代的基于java的企业应用程序在任何部署平台的综合规划和配置模型。Spring的一个关键元素是应用程序级的基础设施支持:Spring关注企业应用程序的“管道”,以便团队能够专注于应用级业务逻辑,而不必与特定部署环境不必要的联系。

0x02 功能

  • 核心技术:依赖注入、事件、资源、国际化、验证、数据绑定、类型转换,拼写,AOP。
  • 测试:模拟对象,TestContext框架,Spring MVC测试,WebTestClient。
  • 数据访问:事务、DAO支持、JDBC、ORM、编组XML。
  • Spring MVC Web框架和 Spring WebFlux web 框架
  • 整合:Remoting、JMS、JCA、JMX、电子邮件、任务调度、缓存。
  • 语言:Kotlin,Groovy动态语言。

0x03 Minimum requirements

  • JDK 8+ for Spring Framework 5.x
  • JDK 6+ for Spring Framework 4.x
  • JDK 5+ for Spring Framework 3.x

0x04 Building Java Projects with Maven

 和大多数 Spring入门指南 一样,您可以从头开始完成每一步,也可以绕过您已经熟悉的基本设置步骤。无论哪种方式,最终都有工作代码。

  •  1. 手动使用Maven创建Java 项目

Spring Framework 简介

 2. 勾选如图所示两个地方

 Spring Framework 简介

  3. 填写Project Name,点击 ’Finish‘ 按钮

Spring Framework 简介

4. 创建hello 文件夹,目录结构如图所示:

Spring Framework 简介

Spring Framework 简介

5. 修改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.xingyun</groupId>
    <artifactId>spring-context-sample</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <!-- 添加Spring Context maven依赖 -->
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.0.4.RELEASE</version>
        </dependency>
    </dependencies>

</project>

 

6.创建接口文件

hello/MessageService.java

package hello;

public interface MessageService {
    String getMessage();
}

 

7.创建实体类

hello/MessagePrinter.java

package hello;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class MessagePrinter {

    final private MessageService service;

    @Autowired
    public MessagePrinter(MessageService service) {
        this.service = service;
    }

    public void printMessage() {
        System.out.println(this.service.getMessage());
    }
}

 

Tips:这里一定不要漏了写这两个注解

8.创建方法调用主类

hello/Application.java

package hello;

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.*;

@Configuration
@ComponentScan
public class Application {

    @Bean
    MessageService mockMessageService() {
        return new MessageService() {
            public String getMessage() {
                return "Hello World!";
            }
        };
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        ApplicationContext context = new AnnotationConfigApplicationContext(Application.class);
        MessagePrinter printer = context.getBean(MessagePrinter.class);
        printer.printMessage();
    }

}

 

Tips:这里特别注意,任何一个注解都不能缺少,否则会报错。

9. Run 主方法

Spring Framework 简介

上面的例子显示了依赖注入的基本概念,messageprinter 实现 MessageService接口是解耦的,写什么都可以使用Spring Framework。 

本文项目源码下载地址:https://github.com/geekxingyun/JavaEE-Framework-Sample/tree/master/SpringBoot-Sample/spring-context-sample

 0x05 其他更多用法参考文档

https://spring.io/guides

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/167716.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java获取Date时间的各种方式汇总「建议收藏」

    java获取Date时间的各种方式汇总「建议收藏」1. 常用的时间获取方式public class DateUtils {   /**   * 获取时间戳   * 输出结果:1438692801766   */  @Test  public void getTimeStamp() {    Date date = new Date();    long times = date.getTime();    System.o…

    2022年6月13日
    27
  • 真正的自重…小偷可以灭绝

    真正的自重…小偷可以灭绝

    2021年7月29日
    65
  • naviate15激活码(注册激活)2022.01.30

    (naviate15激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月31日
    39
  • Dos攻击原理_防止xss攻击方法

    Dos攻击原理_防止xss攻击方法Technorati标签: DoS,攻击,网络防御,TCP,SYN_FloodTCP/IP协议的权限DoS(拒绝服务攻击)—–DenialofService该攻击的原理是利用TCP报文头来做的文章.下面是TCP数据段头格式。SourcePort和DestinationPort:是本地端口和目标端口SequenceNu

    2022年10月1日
    3
  • error C141(C2G的交易平台有哪些)

    1.堆栈总分布为:2G2G=2*1024*1024*1024B=2*10^9;#defineMAXBIT   100000  #defineMAXLEAF  4000 typedefstruct {  intbit[MAXBIT];  intstart;}HCodeType;    /*编码结构体*/

    2022年4月12日
    66
  • RPC接口简介「建议收藏」

    RPC接口简介「建议收藏」什么是RPCRPC(RemoteProcedureCallProtocol)远程过程调用协议。一个通俗的描述是:客户端在不知道调用细节的情况下,调用存在于远程计算机上的某个对象,就像调用本地应用程序中的对象一样。比较正式的描述是:一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC的特点:RPC是协议。只是协议,而非实现。RPC实现包括:Dubbo、Thri…

    2022年10月13日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号