栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

初学Spring

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

初学Spring

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

浅谈对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中导入需要的坐标

     org.springframework
     spring-context
     5.3.16
 

记得及时刷新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


    
    
    


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对象,并做好依赖注入工作

    
    

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();
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/866939.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号