Spring基本了解与导包

开发工具与关键技术:
作者:熊琪
撰写时间:2020年9月8日

首先简单介绍Spring是什么和其的作用、Spring是轻量级的开源的JavaEE框架,Spring可以解决企业应用开发的复杂性,Spring 有两个核心部分:IOC 和 Aop。IOC:控制反转,把创建对象过程交给 Spring 进行管理 Aop:面向切面,不修改源代码进行功能增强。
Spring特点:
(1)方便解耦,简化开发 (2)Aop 编程支持 (3)方便程序测试 (4)方便和其他框架进行整合 (5)方便进行事务操作 (6)降低 API 开发难度。
入门,首先明白Spring的版本,我这里是使用Spring的5.2.6的版本。首先打开你的开发工具比如idea工具,创建一个普通的java工程。
导包:如图:

最基本的包就是:Beans包,core,Contex,还有Expression包,将这些包导入你的项目如下图:

IOC概念和原理:
控制反转,把对象创建和对象之间的调用过程,交给 Spring 进行管理,
使用 IOC 目的:为了耦合度降低。
原理:xml解析,工厂模式,反射。
IOC BeanFactory接口:、IOC 思想基于 IOC 容器完成,IOC 容器底层就是对象工厂
(1)BeanFactory:IOC 容器基本实现,是 Spring 内部的使用接口,不提供开发人员进行使用
加载配置文件时候不会创建对象,在获取对象(使用)才去创建对象
(2)ApplicationContext:BeanFactory 接口的子接口,提供更多更强大的功能,一般由开发人 员进行使用 * 加载配置文件时候就会把在配置文件对象进行创建
代码如图:第一步xml配置文件,配置创建的对象

第二部有service类和dao类,创建工厂类降低耦合度。

IOC 操作Bean管理(基于 xml 方式):
1、基于 xml 方式创建对象
2、基于 xml 方式注入属性
第一种注入方式:使用 set方法进行注入代码如下:

public class Book {    // 创建属性    private String bname;    private String bauthor;    // 创建属性对应的 set 方法public void setBname(String bname) { this.bname = bname; }
public void setBauthor(String bauthor) { this.bauthor = bauthor;    }
}

在 spring 配置文件配置对象创建,配置属性注入

<! -- 2 set 方法注入属性 -- >
<bean id="book" class="com.atguigu.spring5.Book">  <property name="bname" value="历史"></property> <property name="bauthor" value="语文"></property>
</bean>

第二种注入方式:使用有参数构造进行注入
创建类,定义属性,创建属性对应有参数构造方法,使用有参数构造注入

public class Orders {    private String oname; private String address; // 有参数构造    public Orders(String oname,String address) {  this.oname = oname;      this.address = address;    } }


2)在 spring 配置文件中进行配置 <! – 3 有参数构造注入属性 – >

 <bean id="orders" class="com.atguigu.spring5.Orders"> <constructor-arg name="oname" value="电脑"></constructor-arg> <constructor-arg name="address" value="China"></constructor-arg></bean>

Spring基本了解与导包相关推荐

  1. spring的aop准备工作-导包定义通知

    然后接下来准备通知,这就是咱们要学的新内容了,在Spring当中,如何定义通知呢,看好,右键,new一个class,a_aspect,然后这儿的话咱们定义一个通知,通知英文名叫做Advice,MyAd ...

  2. spring项目搭建-导包对象准备

    咱们先写一下搭建步骤,第一步你们肯定都知道,第一步导包,反正导包先看第一步,在咱们的resource文件夹里面,我还是放了两个zip包,按照惯例,你把它解压出来,然后解压的话我已经做好了,接下来我要介 ...

  3. Spring详细导包截图以及IOC和DI思想

    思想 IOC DI Spring中的工厂(容器) ApplicationContext: BeanFactory(过时): BeanFactory和ApplicationContext区别 BeanF ...

  4. springboot导包显示不存在_基础篇:Spring Boot入门体验(图文教程)

    优质文章,及时送达 什么是 Spring Boot? Spring Boot 是由 Pivotal 团队提供的全新框架.Spring Boot 是所有基于 Spring Framework 5.0 开 ...

  5. Spring框架Runtime介绍(导包)

    一.Spring框架Runtime介绍,如图 1.1 Test: Spring提供测试功能 1.2 Core Container:Spring核心容器,Spring启动的基本条件, 1.2.1 Bea ...

  6. springboot导包显示不存在_(一)SpringBoot搭建基本后端应用

    boot在计算机术语中是启动的意思,SpringBoot也就是Spring的启动器. 稍有经验的JavaWeb程序员对于传统SSM结构的MVC应用,大多数最不好的体验就是搭建一个项目需要进行大量的配置 ...

  7. idea自动导包_IDEA已经世界第一了,听说你还不会?

    IDEA是IntelliJ公司开发的在业界内被公认为最好的java开发工具,尤其在代码智能助手.代码自动提示.重构.JavaEE支持.各类版本工具(git.svn等).JUnit.CVS整合.代码分析 ...

  8. 填坑之路!SpringBoot导包坑之spring-boot-starter-parent

    填坑之路!SpringBoot导包坑之spring-boot-starter-parent 大誌 2018-11-14 21:03:25 104522 收藏 83 分类专栏: Bug 文章标签: Sp ...

  9. Android 删除无用的导包

    window 10 系统 如果项目常见很久了,每个界面的去掉可以使用 ctrl + alt + o 快捷键, 或者  code -->Optimize imports 当然这样也是比较麻烦,为了 ...

最新文章

  1. Android --- 在Andoird应用程序中打开相册却没有图片(夜神模拟器)怎么办?
  2. 二进制文件后缀_ZSY2018综合录井仪的数据流与数据文件
  3. vue 初始化方法_前端发展方向指南—Vue源码初始化
  4. 改善用户体验之Alert提示效果
  5. 【测试】测试用例8大法
  6. angular 字符串转换成数字_3种方法搞定Excel中数字大小写转换? 123...变为壹贰叁......
  7. TIOBE 11 月榜单:C、Swift、Go、D 与 Rust 起起伏伏
  8. Hadoop学习总结(1)——大数据以及Hadoop相关概念介绍
  9. mui PopPicker面板关闭后的回调函数
  10. 关于mysql性能优化_关键的十个MySQL性能优化技巧
  11. 风口猪炒股指标_使用说明文档20210101
  12. 基于Pytorch源码对Adagrad、Adadelta、RMSProp、Adam等自适应学习率进行学习
  13. 英特尔it服务器芯片,intel服务器芯片组驱动程序
  14. zip 的ZipEntry转换为InputStream
  15. 攻防世界,Reverse:logmein
  16. telnet指令输入账户密码后出现“句柄无效”无法连接的问题
  17. Matlab 2018b 安装问题 - License checkout failed
  18. java国际化之时区问题处理
  19. 人脸识别会被留底吗_人脸识别会保存我们的照片吗?
  20. win10双显示屏,分屏显示内容

热门文章

  1. java对sha1的解密_Java实现文件的加密解密功能示例
  2. 测试文章发布,不要点击
  3. 新零售+早餐铺,“网订柜取”新模式受追捧
  4. git push代码到远程仓库,报错解决:fatal: unable to access ‘https://github.com/.......‘: OpenSSL SSL_read: Connec
  5. 杭电 2066 一个人的旅行 最短路 Dijstra
  6. Windows 实用工具
  7. RedisTemplateConfiguration 配置
  8. 联众服务器进不去网站,联众世界进不去了
  9. QQ如何不接收群邮件(杂)
  10. 【C/C++内功心法】剖析预处理过程,详解预处理指令,提升C/C++内功