Bootstrap

Spring6框架搭建(自用)

一、什么是Spring

众所不周知,Spring就是爪哇人的春天,但是在框架程序设计之前都绕不开javaWeb

1.javaWeb框架发展史

1、Servlet+JSP+JavaBean(跳转页面、业务逻辑判断、数据库查询)

2、MVC三层架构(M Model =pojo(User)V-view(USP)C-(controller-servlet))
(
web-跳转页面
service-业务逻辑判断   new UserService0;
dao-数据库查询 new UserDao();
)

3、使用EJB进行应用的开发,但是EJB是重量级框架(在使用的时候,过多的接口和依赖,侵入性强),在使用上比较麻烦 UserService imp extends

4、Struts1/Struts2+Hibernate+Spring
Spring
(
web-跳转页面 Struts
service-业务逻辑判断
dao-数据库查询Hibernate
)--------SSH

5、SpringMVC+Mybatis+Spring
(
web-跳转页面 SpringMVC(出现BUG,使用毕竟麻烦)
service-业务逻辑判断
dao-数据库查询 myBatis
)-------SSM
6、SpringBoot开发,约定大于配置SSM搭建架构需要大量XML配置文件

7、mvvm架构
Model(模型):负责处理应用程序的数据逻辑,比如数据库读写等数据源的操作。
View(视图):负责显示数据(即模型层的数据)并且接收用户操作界面的界面。
ViewModel(视图模型):作为Model和View之间的桥梁,从Model层获取数据后,处理并返回给View层显示。ViewModel 还负责处理View层的用户界面操作,将相关事件转发到Model层。

2.Spring框架简介 

Spring框架英文全称Spring framework,是由Spring团队研发的模块化、轻量级开源框架。其主要目的 是为了简化项目开发。在项目开发中,可以说没有刻意使用Spring,却处处有着Spring存在,用官网对Spring框架的介绍:Spring框架核心功能包含依赖注入、事务管理、Web应用、数据访问、消息发送等等。

Spring框架的设计理念基于以下核心原则:


轻量级设计:

轻量级设计是Spring框架的首要原则之一。通过采用轻量级的设计,Spring能够在应用程序开发中提供高效、简单的解决方案。相比于其他重型框架,Spring注重简洁性,使得开发者能够更专注于业务逻辑的实现,而不必被繁琐的框架细节所困扰。

非侵入性的设计:

Spring框架强调非侵入性,这意味着开发者不需要修改已有的Java类来适应框架,从而保持了代码的整洁性和可维护性。非侵入性设计的优势在于,开发者可以更灵活地选择使用和配置框架的功能,而不会影响到已有的代码结构。

二、搭建步骤

(ps:写博客的时候用的学校实验室的电脑)

1、首先利用IDEA创建Maven工程项目

2、点击创建后就是这样的目录

        

3、我们先删掉src目录,然后单独创建一个spring-first模块

如下:

4、在pom.xml文件下填写Spring的相关依赖(其中有一些拓宽工具依赖)

5、在resources包下创建Spring配置文件,整合日志配置文件

applicationContext.xml:

applicationContext.xml 是Spring配置文件
applicationContext是约定俗成的叫法

log4j:

6、随便新建一个用户类

具体的包名看你自己的本地

package com.xxx.demo.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.stereotype.Component;

@Data
@AllArgsConstructor

@Component
public class User {

    private String Name;
    private String password;

    public void add(){
        System.out.println("User add.........");
    }
}

新建一个AppConfig类,进行定义扫包

package com.xxx.demo.config;

import com.xxx.demo.pojo.User;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@ComponentScan(basePackages = "com.xxx.demo")
@Configuration
public class AppConfig {
    
    @Bean
    public User user(){
        return new User();
    }
    
}

 各个注解的作用为:

@ComponentScan: 全局扫描组件
其中的参数 basePackages 扫描组件的包
@Configuration: 声明当前类为JavaConfig类

@Bean: 自动装配

7、最后在test目录下新建一个UserTest类

package com.xxx.demo.pojo;

import com.xxx.demo.config.AppConfig;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = AppConfig.class)
public class TestUser {

    @Autowired
    private User user;

    @Test
    public void test(){
        user.add();
    }

}

后续:

后续代码 则在其他持续层上面补充

至此基础框架搭建完成

总结:

简单来说,Spring的轻量级给项目开发提供了很多便捷的开发模式和方式,相比传统的更灵活,但反过来说,由于框架的普适性大,才导致Java整个学习环境都比其他语言要卷上很多,吃这口饭可能注定都没办法留头发了。

;