初学Spring

初学Spring,第1张

技术小白,以下内容是对每日所学知识简单的总结汇总,如有错误,还望大家包含,也可留言指正,感谢!

浅谈对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注解等。
具体系统结构图见下图。

浅谈对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、编写Test代码测试
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();
    }
}
浅谈对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();
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/876924.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存