首页 > 编程语言 >Java_EE企业级开发学习笔记——spring学习笔记第一章

Java_EE企业级开发学习笔记——spring学习笔记第一章

时间:2024-03-18 23:56:21浏览次数:20  
标签:xml 容器 Java Spring 笔记 企业级 Bean 实例 spring

  记录笔记。

一.Spring介绍

    Spring是以IOC(控制反转)和AOP(面向切面编程)为内核的一个轻量级开源框架。

二.Spring框架的优点

  1.非侵入设计

    使得应用程序对框架的依赖最小化。

  2.方便解耦

    对象的创建和依赖关系的维护都由Spring容器管理。

  3.支持AOP

    AOP就是面向切面编程,后面会讲的。

  4.支持声明式事务管理

    配置就可以完成对事务的管理。

  5.方便程序的测试

  6.方便继承各种优秀框架

  7.降低Java EE API的使用难度

三.Spring 的体系结构

 觉得最重要的是Core Container模块。下面的解释看看就行了,等实践了再来看大致就会有更深的理解。

 四.Spring下载及目录结构

  去下载spring框架包。打开来看有很多jar包,最重要的是4个基础包。

 除了这四个基础包之外,还有一个第三方依赖包common-logging。每次使用spring项目将这4个基础包和common-logging复制到项目中即可。

五.Spring 的核心容器

  两个核心容器BeanFactory和ApplicationContext。

  说到容器,就必须要讲到一个东西Bean,按照我的理解,可以把Bean这个东西当成一个类(话说java的确实应该是类),容器使用的都是Bean实例,所以要将某个类(主要类)加入到容器里面,然后再在启动类里面使用方法(好像是getBean)在spring容器里面获得该主要类的Bean实例,获得Bean实例了才可以调用主要类的方法。

  BeanFactory

   ApplicationContext

 (spring是xml文件,不要和springboot搞混了)

   如何获得指定的Bean 

 实际的代码类似于这种:

 六.Spring入门程序

  这一部分我偷懒了,找了一下我自己敲的代码,发现我压根没有。

  一般来讲就是先建立一个接口,然后通过这个接口建立主要类,为了获得对应的Bean实例,我们也说过spring是由spring容器来创建Bean实例的,我们需要在xml文件里配置Bean相关主要类。然后在启动类就可以获得该主要类的Bean实例了。

  接口:

   主要类:

   在xml文件配置主要类相关Bean:

   启动类(加载配置文件和获取Bean实例):

    注意,这里的目录结构要注意。我放一个类似的目录结构

    我有一次没有将xml文件放resource系统文件夹里就报错了,在测试的时候报错了说找不到xml文件,如果想要知道原因的话自己试试再去查一下报错原因(鼓励)。然后关于这个我后面也有讲。

七.依赖注入的概念

   依赖注入(DI)与控制反转其实含义是一样的,只是角度不一样。

 八.依赖注入的方式

   属性setter方法注入,接口,实现接口的主要类(需要加入setter方法声明某一个属性),xml文件配置获得主要类相关Bean,启动类。 

  下面是属性setter方法注入的方式,setter方法声明的属性是UserDao,没错这本书上写的就是UserDao,就是上面代码的UserDao。(java中观察一些代码,比如List<> list = new ArrayList<>(),还有我之前观看别人项目的源码,我发现形参(属性),左边等式都是一般用来声明的,毕竟接口也是一个类)

  接口:

   主要类:

   xml的配置(流程还是记住的):

   (ref的值是之前的配置

   主要类(加载配置文件,获得Bean实例,调用主要类方法,三部曲):

 

 

 

关于xml文件没有放在resource文件(系统文件?)的错误的解释:IDEA中Spring配置错误:class path resource [.xml] cannot be opened because it does not exist_class path resource [feign/requestinterceptor.clas-CSDN博客

大致意思就是如果xml放在src目录生成.class文件没办法放在target文件夹里所以编译器找不到。

  

  

标签:xml,容器,Java,Spring,笔记,企业级,Bean,实例,spring
From: https://www.cnblogs.com/clina/p/18081829

相关文章

  • java八股——java并发(1)
    上一篇传送门:点我java面试中,并发相关的一些面试题整理,很多部分仅为个人理解,如有问题欢迎讨论指正(待补充)。并行与并发有什么区别?并行和并发都是指多个任务同时执行的概念,但是它们之间有着明显的区别。并行是指多个任务在同一时刻同时运行,通常会需要使用多个处理器或者多......
  • spring boot企业级开发教程学习笔记——第一章
    记录笔记。一.spring和springboot简介Springboot之前是spring,Spring是一个轻量开源框架,通过控制反转(IOC)和面向切面编程(AOP)取代了低效臃肿的开发模式。但是spring需要配置各种XML配置文件,只有少量的注解。springboot框架本身并不提供Sprng框架的核心特性以......
  • 高等代数笔记:行列式按k行展开
    目录k阶子式及其余子式按k行(列)展开k阶子式及其余子式定义1n阶行列式|A|中任意取定k行、k列(1≤k<n),位于这些行和列的交叉处的\(k^2\)个元素按原来的排法组成的k阶行列式,称为|A|的一个k阶子式.选取|A|的第\(i_1,i_2,...,i_k\)行\((i_1<i_2<...<i_k)\),第\(j_1,j_2,...,j_k\)......
  • datawhale-动手学数据分析task4笔记
    动手学数据分析task4数据可视化matplotlib的图像都位于figure对象中,创建新的对象用plt.figure。plt.subplot()方法可以更方便地创建一个新figure,并返回一个含有以创建的subplot对象的numpy数组。'''参数说明:nrows=int,subplot的行数ncols=int,subplot的列数sharex=Bool......
  • Java毕业设计-基于SSM框架的学生成绩管理系统项目实战(附源码+论文)
    大家好!我是岛上程序猿,感谢您阅读本文,欢迎一键三连哦。......
  • Java中的多线程是如何实现的?
    ​​​​​​继承Thread类:通过继承Java的Thread类并重写其run()方法,可以创建一个线程。run()方法包含了线程要执行的代码。创建Thread子类的实例,并调用其start()方法来启动线程。start()方法会导致线程开始执行,自动调用run()方法。注意:Java不支持多重继承,因此如果类已经继承了......
  • Java中的泛型是如何工作的?
    Java中的泛型(Generics)是JDK5.0引入的一个新特性,它提供了编译时类型安全,允许在定义类、接口和方法时使用类型参数(typeparameters)。泛型的主要目的是在编译时增强类型检查,以减少运行时类型转换的错误,同时保持使用泛型类型时的类型灵活性。以下是Java中泛型工作的几个关键点:类......
  • 计算机毕业设计-基于Java+SSM架构的学生综合考评管理系统项目开发实战(附论文+源码)
    大家好!我是职场程序猿,感谢您阅读本文,欢迎一键三连哦。......
  • 程序人生——Java开发持续进阶,拥抱开源世界以思想为源泉
    目录引出开源世界建议139:大胆采用开源工具建议140:推荐使用Guava扩展工具包建议141:Apache扩展包建议142:推荐使用Joda日期时间扩展包建议143:可以选择多种Collections扩展思想为源建议144:提倡良好的代码风格建议145:不要完全依靠单元测试来发现问题建议146:让注释正确、清......
  • 程序人生——Java使用关于性能和效率的建议
    目录引出性能和效率建议132:提升Java性能的基本方法建议133:若非必要,不要克隆对象建议134:推荐使用“望闻问切”的方式诊断性能建议135:必须定义性能衡量标准建议136:枪打出头鸟—解决首要系统性能问题建议137:调整JVM参数以提升性能建议138:性能是个大“咕咚”深入认识JVM......