spring项目不需要new对象?_Spring 快速入门之IOC

Spring IOC/DI

学习目标

1、spring简介

2、spring IOC/DI

3、spring bean封装机制

BeanFactory 和ApplicationContext接口

4、spring注入(构造注入、设值注入、自动注入)

5、基于注解的容器配置

学习内容

1、spring简介

faef7788a6bf362341ac35d8c8485c01.png

spring是一个开源框架,为了解决企业应用开发的复杂性而创建的。

Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

Spring 的优势

  • 低侵入 / 低耦合 (降低组件之间的耦合度,实现软件各层之间的解耦)
  • 声明式事务管理(基于切面和惯例)
  • 方便集成其他框架(如MyBatis、SpringMVC)(SSM)
  • 降低 Java 开发难度
  • Spring 框架中包括了 J2EE 三层的每一层的解决方案(一站式)
2deef40a88a990d16681145d7d0eebba.png

Spring 模块构成

2、spring IOC/DI

问题:以前创建对象?

new 对象(),程序负责完成,耦合度高,不利于扩展。

IOC:Inversion of Control 控制反转;是spring的核心。

控制反转:

对象的创建方式发生了改变,不需要程序去new,交给spring容器去负责创建和维护。

DI:Dependency Injection :依赖注入;引用对象的创建交给spring容器去负责。

071ff2b80fce41e3625a7b10af46b11a.png

提供需求交个spring容器

7df14f28af787f49842d59496332da65.png

注入

55074fd9579330ec8072e222b1dd0eb0.png

官网配图

3、spring bean封装

Spring IoC容器使用一种配置元数据。此配置元数据表示您作为应用程序开发人员如何告诉Spring容器在应用程序中实例化,配置和组装对象。

spring全局配置文件:

 <?xml version="1.0" encoding="UTF-8"?>  ​  ​  ​  ​ 
  1. 该id属性是一个标识单个bean定义的字符串
  2. 该class属性定义bean的类型并使用完全限定的类名

常用属性:

scope属性:bean的作用域;

  • singleton :单例(默认)
  • prototype:原型
  • request:一次请求
  • session:会话
  • application:应用
  • websocket: 套接字

4、创建第一个Spring项目

1、引入jar包

  org.springframework spring-core ${spring.version}org.springframework spring-beans ${spring.version}org.springframework spring-context ${spring.version}org.springframework spring-test ${spring.version}test

2、创建配置文件

resources/applicationContext.xml

 <?xml version="1.0" encoding="UTF-8"?>  ​  

3、配置成bean

创建实体类,并配置bean(参考上面bean的封装):

 

4、实例化容器测试

 //基于类路径的方式去加载配置文件 ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml"); // //根据id获取bean UserService service1= context.getBean("userService
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值