首页 > 其他分享 >Spring的环境搭建的IOC

Spring的环境搭建的IOC

时间:2023-06-12 21:55:53浏览次数:32  
标签:xml 容器 Spring 创建对象 搭建 IOC 注入

1、Spring的简单组成

  • bean的生命周期的管理: java对象的创建,使用,销毁等
  • 轻量级: 使用简单
  • 容器: spring可以管理对象,创建好对象,放入spring容器,容器就是存放对象的
  • 组成部分: Spring Core、 Spring AOP、 Spring ORM、 Spring DAO、Spring Context、 Spring
  • Web和 Spring Web MVC。
    image

2、Spring的环境搭建

2.1导入依赖

<!-- 只需导入spring-context依赖,其他依赖maven会自动关联导入 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.6.RELEASE</version>
</dependency>

2.2导入核心配置文件

名字: 无限制,但是一般有spring.xml,spring-context.xml,beans.xml, applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<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
https://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 后续再填充 -->
</beans>

使用spring管理bean
<bean id="xxx" class="xxx"/>
创建工厂Bean
工厂bean,即创建工厂对象,由工厂加载配置文件,通过配置文件创建容器,从容器中获得对象

String path = "applicationContext.xml";
// 通过配置文件,创建容器
ApplicationContext context = new ClassPathXmlApplicationContext(path);
// 从容器中获得对象(通过标签的id)
MyClass myClass = context.getBean("myClass", MyClass.class);
myClass.test();

IOC+DC

IOC是Spring框架的核心功能之一,IOC(inversion of control)控制反转
控制: 控制创建对象的能力
反转: 原来创建对象是自己做,反转就是将创建对象的能力交给Spring
IOC(控制反转): 将创建对象的能力反转给Spring,由Spring创建对象
DI(dependency injection) 依赖注入: 属性赋值

IOC

现在创建对象交给Spring来做,代码如下
applicationContext.xml
<bean id="xxx" class="xxx"/>

DI

DI : 依赖注入,即属性赋值

  • set方法注入【重点】
  • 构造方法注入【了解】
  • 自动注入【理解-后续注解就是这个思路】

set方法注入

  • 属性要有set方法
  • 注入时bean标签内写property标签
  • property标签name写属性名
  • property标签中,给基本类型赋值用value,给引用类型赋值用ref

注解开发(重点)

首先需要在配置文件中开启扫描

<context:component-scan base-package="com.qf"/>

image
image

注解使用细节

  1. IOC创建对象的注解,四个功能一样,都可以创建对象,只不过建议不同的位置使用不同的注解,见名知意
  2. 加上创建对象的注解后,默认对象名是 类名首字母小写 ,即需要通过类名首字母小写从容器中获得对
  3. 其实可以在注解中设置参数,给对象取名.例如@Service("aaa"),以后就用aaa从容器中取值
  4. 自动注入时@Autowired ,默认 按照类型 注入
  5. 但是如果容器中有两个该类型的bean,自动注入就会失败,此时可以 按名字注入
  6. 如果不使用@Resource按名字注入,也可以使用 @Qualifier("XXXX") 配合
    @Autowired一起实现,按照名字注入
  7. 可以给类加@Scope("prototype|singleton") 来控制单例多例

标签:xml,容器,Spring,创建对象,搭建,IOC,注入
From: https://www.cnblogs.com/qiyuancc/p/17476197.html

相关文章

  • MySQL-MHA搭建
    1、测试环境目前MHA主要支持一主多从的架构,要搭建MHA,要求一个复制集群中必须最少有三台数据库服务器,一主二从,即一台充当master,一台充当备用master,另外一台充当从库.一主两从的环境,通过GTID方式配置主从复制同步环境用途IP地址安装软件MySQL版本主库db01192.168.3......
  • vulhub靶场搭建,以及使用方法
    如何安装vulhub靶场备份文件(如果没有重要的东西,就非必要)cp/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.bak下载阿里云覆盖原文件curl-o/etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repo查看内容确定成功覆盖......
  • 什么是AOP【Spring AOP】
    OOP(Object-OrientedProgramming)面向对象编程,允许开发者定义纵向的关系,但并适用于定义横向的关系,导致了大量代码的重复,而不利于各个模块的重用。   AOP(Aspect-OrientedProgramming)面向切面编程,作为面向对象的一种补充,用于将那些与业务无关,但却对多个对象产生影响的公共行......
  • SpringBoot环境扩展机制
    前言SpringBoot在启动时,会先创建Environment实例,然后再创建ApplicationContext上下文。在创建Environment时,提供了扩展机制给用户对Environment实例进行修改,如SpringBoot默认使用的application.yml属性配置文件。如何使用该机制编写类实现EnvironmentPostProcessor接口。在......
  • nohub命令和java -jar启动Spring Boot
    1.nohub命令启动SpringBoot项目nohupjava-Xms1024m-Xmx2048m-jardemo-0.0.1-SNAPSHOT.jar1>start.out2>&1&2.java-jar启动SpringBoot项目java-Xms800m-Xmx800m-XX:PermSize=256m-XX:MaxPermSize=512m-XX:MaxNewSize=512m-jardemo-0.0.1-SNAPSHOT.jar&g......
  • Springboot读取不到yml文件的问题(转载)
    Springboot工程分为两个大文件夹,/src/main和/src/test,main和test下面分别由java和resource,如图所示: 规则:main的java里面的代码,只能读取main的resource的配置文件;test的java里面的代码,既可以读取main的resource的配置文件,也可以读取test的resource的配置文件。test......
  • 尚医通day01-【项目环境搭建和医院设置详细步骤】(内附源码)
    第01章-项目介绍1、课程介绍项目名称:尚医通预约挂号统一平台项目原型:https://www.114yygh.com北京市预约挂号统一平台项目技术栈:前后端分离后端技术:SpringBoot+SpringCloud+MyBatisPlus+MySQL+MongoDB+Redis+RabbitMQ+Docker+EasyExcel+API远程接口调......
  • 使用containerd从0搭建k8s(kubernetes)集群
    准备环境准备两台服务器节点,如果需要安装虚拟机,可以参考《wmware和centos安装过程》机器名IP角色CPU内存centos01192.168.109.130master4核2Gcentos02192.168.109.131node4核2G设置主机名,所有节点都执行vim/etc/hosts#增加192.168.109.130cento......
  • 尚医通day09-【用户平台搭建详细步骤】(内附源码)
    页面预览首页医院详情第01章-服务器端渲染和客户端渲染1、搜索引擎优化1.1、什么是搜索引擎优化SEO是网站为了获得更多的流量,对网站的结构及内容进行调整和优化,以便搜索引擎(百度,google等)更好抓取到网站的内容,提高自已的网站排名。1.2、搜索引擎工作流程1.3、简单的S......
  • spring 常见20问
    目录 1.Spring是什么?作用是什么?2.你对IoC(控制反转InversionofControl)是怎么理解的?3.什么是AOP(面向切面编程AspectOrientedProgramming)?4.Spring中Bean之间的依赖关系是怎样的?5.Spring框架中的单例模式是怎样实现的?6.Spring中的事务管理是如何实现的?7.Spring的优势是什么?8.......