【Spring】快速入门

博客主页:准Java全栈开发工程师
00年出生,即将进入职场闯荡,目标赚钱,可能会有人觉得我格局小、觉得俗,但不得不承认这个世界已经不再是以一条线来分割的平面,而是围绕财富旋转的球面,成为有钱人不是为了去掌控球体的转向,而是当有人恶意掌控时,努力保护好家人和自己。

初学Spring

  • 一、浅谈对Spring体系结构的理解
      • 1、Core Container
      • 2、Data Access / Integration
      • 3、AOP 、 Aspects
      • 4、Web
      • 5、Test
  • 二、浅谈对IOC的理解
  • 三、IOC入门案例
      • 1、在pom.xml中导入需要的坐标
      • 2、定义需要管理的类或接口
          • 1)BeanDao接口
          • 2)BeanDaoImpl实现类
      • 3、创建配置文件applicationContext.xml
      • 4、编写代码测试
      • 5、运行结果
  • 四、浅谈对DI的理解
  • 五、DI入门案例
      • 1、定义service层所需类
          • 1)BeanService接口
          • 2)BeanServiceImpl实现类
      • 2、在applicationContext.xml文件中配置beanService对象,并做好依赖注入工作
      • 3、编写代码测试
      • 4、运行结果

一、浅谈对Spring体系结构的理解

1、Core Container

Core Container 核心容器。Spring中,对象的创建都需要借助这些容器来实现,初学者可以首先展开对这部分内容的学习。

2、Data Access / Integration

Data Access 数据访问;Data Integration 数据集成。很明显,该部分内容涉及到对数据的处理。比如:数据库连接操作;常用的CRUD增删改查操作等。当前比较流行的有Mybatis,Mybatis-Plus等。
该部分需要着重学习Transactions事务相关内容。

3、AOP 、 Aspects

AOP 面向切面编程,在此提出了“切面”的思想。Aspects是AOP思想的实现。具体内容可关注博主之后的文章。

4、Web

该部分涉及Web开发所需要的模块。

5、Test

Test测试,测试是项目开发工程中非常常用且必要的内容。Spring也定义了许多和测试相关的方法、注解等,如:@Test注解等。
具体系统结构图见下图。
【Spring】快速入门_第1张图片

二、浅谈对IOC的理解

  • IOC(Inversion of Control)控制反转。
  • 当创建对象时,不再采用手动new的方式创建,而是将对象的创建控制权转移到“外部”进行。
  • 上述的“外部”其实就是IoC容器,也常称Spring容器。
  • 手动new的方式,代码的耦合性较高,不利于之后的修改维护工作。
  • IoC容器负责对象的创建、初始化、管理工作。
  • 被管理的对象在IoC容器中称为Bean。

三、IOC入门案例

1、在pom.xml中导入需要的坐标

<dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-context</artifactId>
     <version>5.3.16</version>
 </dependency>

记得及时刷新maven,将需要的包加载进去

2、定义需要管理的类或接口

以创建接口BeanDao和其实现类BeanDaoImpl为例。Dao层是我们写项目时常用的数据访问层。

1)BeanDao接口
public interface BeanDao {
    public void save();
}
2)BeanDaoImpl实现类
public class BeanDaoImpl implements BeanDao {
    public void save() {
        System.out.println("beanDao save...");
    }
}

3、创建配置文件applicationContext.xml


<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    
    
    <bean id="beanDao" class="dao.impl.BeanDaoImpl"/>

beans>

4、编写代码测试

public class App {
    public static void main(String[] args) {
        // 加载配置文件,获得上下文对象
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

        // 调用getBean()方法获得bean
        BeanDao beanDao = (BeanDao) context.getBean("beanDao");

        // 调用save()方法
        beanDao.save();
    }
}

5、运行结果

beanDao save...

四、浅谈对DI的理解

  • DI(Dependency Injection)依赖注入。
  • 如果两个bean之间有依赖关系,那么建立依赖的过程就是DI。

五、DI入门案例

以BeanService和BeanDao间的依赖关系为例。
Dao层是数据访问层,Service层是业务逻辑层,通常业务逻辑层会调用数据访问层定义的方法。

1、定义service层所需类

1)BeanService接口
public interface BeanService {
    public void save();
}
2)BeanServiceImpl实现类
public class BeanServiceImpl implements BeanService {

    // 在没有使用IOC之前,通常我们都是通过下述方式定义,该方式使得代码的耦合性较高,已经渐渐的被淘汰
    // private BeanDao beanDao = new BeanDaoImpl();
    // 推荐使用下述方式定义,只声明并为进行实际的new操作,通过IOC容器实现相应的依赖注入操作
    private BeanDao beanDao;

    public void save() {
        System.out.println(" bean service save...");
        beanDao.save();
    }

    public void setBeanDao(BeanDao beanDao) {
        this.beanDao = beanDao;
    }
}

2、在applicationContext.xml文件中配置beanService对象,并做好依赖注入工作

<bean id="beanService" class="service.impl.BeanServiceImpl">
    
    <property name="beanDao" ref="beanDao">property>
bean>

3、编写代码测试

public class App {
    public static void main(String[] args) {
        // 加载配置文件,获得上下文对象
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

        // 调用getBean()方法获得bean
        BeanService beanService = (BeanService) context.getBean("beanService");

        // 调用save()方法
        beanService.save();
    }
}

4、运行结果

 bean service save...
beanDao save...

以上就是文章的全部内容啦,诸佬如果有任何建议都可以提哦。
创作不易,如果觉得对您有帮助的话,欢迎关注✨点赞收藏哦。

你可能感兴趣的:(Spring,spring,java)