愛在花開的季節 发表于 2025-10-29 05:28:41

【Spring详解一】Spring团体架构和环境搭建

一、Spring团体架构和环境搭建

1.1 Spring的团体架构

Spring框架是一个分层架构,包罗一系列功能要素,被分为约莫20个模块
https://i-blog.csdnimg.cn/direct/dbbbb653c21141529dce970d02c4aa20.png   

[*]Spring焦点容器:包罗Core、Bean、Context、Expression Language模块   

[*]Core :其他组件的根本焦点,紧张包罗Spring框架根本的焦点工具类
[*]Beans :包罗访问设置文件、创建和管理bean以及IOC/DI(控制反转和依赖注入)利用相干的全部类
[*]Context :构建与Core和Beans根本之上,继续BeanFactory,提供上下文信息,扩展出JNDI、EJB、电子邮件、国际化等功能
[*]Expression Language :提供了一个强大的语言表达式用于在运行时查询和利用对象。

[*]Spring数据访问与集成    

[*]JDBC :提供了JDBC的抽象层
[*]ORM :提供了JPA、JDO、Hibernate、iBatis 等ORM映射层
[*]OXM :提供了Object/XML映射实现的抽象层,该实现包罗JAXB、Castor、XMLBeans、JiBX和XStream
[*]JMS(Java Messaging Service) :制造和斲丧消息
[*]Transaction :编程和声明性的事件管理

[*]Spring AOP:集成了全部AOP功能
[*]Spring Web与长途调用   

[*]Web :提供了根本的 Web 开辟的上下文信息,现有的Web框架,如JSF、Tapestry、Structs等,提供了集成
[*]Web MVC:提供了 Web 应用的 Model-View-Controller 全功能实现。
[*]Websocket

    1.2 Spring环境搭建

1.2.1 安装git

Git - Downloads   1.2.2 安装Gradle

   1.)下载安装包
   下载所在:  Gradle Distributions   
2)设置环境变量
#1.打开.bash_profile文件
open -e ~/.bash_profile
#2.在.bash_profile文件中配置环境变量
GRADLE_HOME=//Users/sunshine/Documents/software/gradle/gradle-7.5.1
export GRADLE_HOME
export PATH=$PATH:$GRADLE_HOME/bin
   3)检察Gradle版本
   gradle -version   
   1.2.3 下载Spring源码

   git clone git@github.com:spring-projects/spring-framework.git
git clone https://github.com/spring-projects/spring-framework.git   我使用的是5.3.x分支。
   留意:要使用 git@github.com:spring-projects/spring-framework.git 必要设置ssh秘钥:
   ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
//会生成私钥文件 id_rsa 和公钥文件 id_rsa.pub
//windows 一般在 C:\Users\Administrator\.ssh 目录,linux和mac在 ~/.ssh
//把生成的公钥拷贝到GitHub 的设置中的 SSH 密钥部分   假如使用 https 超时,可以增长 Git 的 HTTP/HTTPS 超时时间:
   git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 999999   假如使用了VPN署理服务器,确保 Git 的署理设置是准确的。你可以通过以下下令查抄或设置署理:
   //查看当前代理设置
git config --global --get http.proxy
//设置代理
git config --global http.proxy http://proxy_host:port
git config --global https.proxy https://proxy_host:port
//取消代理设置
git config --global --unset http.proxy
git config --global --unset https.proxy   1.2.4 设置IDEA

   设置IDEA的本地gradle环境:
   https://i-blog.csdnimg.cn/direct/001998a12fac443b9e5c2dead4026ceb.png
   设置项目字节码版本:
   https://i-blog.csdnimg.cn/direct/5724e197d50f4895a69707ffc0670b9f.png
   末了在 Project Structure 设置sdk版本。
   1.2.5 设置 Spring-Framework 源码的gradle堆栈

   设置gradle下载所在为本地(路径为gradle二进制文件压缩包路径):
   //文件为 gradle/wrapper/gradle-wrapper.properties
distributionUrl=file:///F:/work_folder/gradle-7.5.1-bin.zip   设置堆栈镜像 :
   //根目录下文件\buildSrc\build.gradle
repositories {
    maven { url 'https://maven.aliyun.com/repository/public/' }
    maven { url 'https://maven.aliyun.com/repository/central' }
    mavenCentral()
    gradlePluginPortal()
}
   根目次下文件\build.gradle 的 mavenCentral() 之前加上:
   maven { url 'https://maven.aliyun.com/repository/public/' }
maven { url 'https://maven.aliyun.com/repository/central' }
maven { url "https://maven.aliyun.com/repository/spring-plugin" }
maven { url "https://maven.aliyun.com/repository/gradle-plugin" }   
   1.2.6 新建模块,测试环境

   https://i-blog.csdnimg.cn/direct/265b0fe34ba24bb6a64a404403d02996.png
   https://i-blog.csdnimg.cn/direct/58c544da19a84efc9761332b75126b65.png
   https://i-blog.csdnimg.cn/direct/8213bbc2d33f44d29125e45e5a63301e.png
   https://i-blog.csdnimg.cn/direct/201788e7f13a49399ad123ac186b41ab.png
   https://i-blog.csdnimg.cn/direct/b2cad67697dd45b6b6132b1bc5e675d1.png
   添加依赖 /spring-f2-test/build.gradle :
   https://i-blog.csdnimg.cn/direct/25a2b62f18c1446ab674fe2fe445d2be.png
   添加测试类:
   public class User {
    String name;
    public User(String name) {
       this.name = name;
    }
    public String getName() {
       return name;
    }
    public void setName(String name) {
       this.name = name;
    }
    @Override
    public String toString() {
       return "User{" +
             "name='" + name + '\'' +
             '}';
    }
}

@Configuration
public class JavaConfig {
    @Bean
    public User user(){
       return new User("lister");
    }
}

public class TestApplication {
    public static void main(String[] args) {
       AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(JavaConfig.class);
       User user = (User) context.getBean("user");
       System.out.println(user);
    }
}
//结果打印
User{name='lister'}   

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【Spring详解一】Spring团体架构和环境搭建