HelloSpring

简介: 控制 : 谁来控制对象的创建 , 传统应用程序的对象是由程序本身控制创建的 , 使用Spring后 , 对象是由Spring来创建的反转 : 程序本身不创建对象 , 而变成被动的接收对象 .依赖注入 : 就是利用set方法来进行注入的. IOC是一种编程思想,由主动的编程变成被动的接收可以通过newClassPathXmlApplicationContext去浏览一下底层源码 新增一个Spring配置文件beans.xml

HelloSpring

  • Hello 对象是谁创建的 ?

hello 对象是由Spring创建的

  • Hello 对象的属性是怎么设置的 ?
    hello 对象的属性是由Spring容器设置的

这个过程就叫控制反转 :

控制 : 谁来控制对象的创建 , 传统应用程序的对象是由程序本身控制创建的 , 使用Spring后 , 对象是由Spring来创建的

反转 : 程序本身不创建对象 , 而变成被动的接收对象 .

依赖注入 : 就是利用set方法来进行注入的.

IOC是一种编程思想,由主动的编程变成被动的接收

可以通过newClassPathXmlApplicationContext去浏览一下底层源码

新增一个Spring配置文件beans.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
       http://www.springframework.org/schema/beans/spring-beans.xsd">

   <bean id="MysqlImpl" class="com.kuang.dao.impl.UserDaoMySqlImpl"/>
   <bean id="OracleImpl" class="com.kuang.dao.impl.UserDaoOracleImpl"/>

   <bean id="ServiceImpl" class="com.kuang.service.impl.UserServiceImpl">
       <!--注意: 这里的name并不是属性 , 而是set方法后面的那部分 , 首字母小写-->
       <!--引用另外一个bean , 不是用value 而是用 ref-->
       <property name="userDao" ref="OracleImpl"/>
   </bean>

</beans>

测试!

@Test
public void test2(){
   ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
   UserServiceImpl serviceImpl = (UserServiceImpl) context.getBean("ServiceImpl");
   serviceImpl.getUser();
}

OK , 到了现在 , 我们彻底不用再程序中去改动了 , 要实现不同的操作 , 只需要在xml配置文件中进行修改 , 所谓的IoC,一句话搞定 : 对象由Spring 来创建 , 管理 , 装配 !

相关文章
|
前端开发 JavaScript Java
【Spring Boot学习】一、使用Spring Initializer快速创建Spring Boot项目
【Spring Boot学习】一、使用Spring Initializer快速创建Spring Boot项目
798 1
【Spring Boot学习】一、使用Spring Initializer快速创建Spring Boot项目
|
监控 JavaScript 前端开发
Spring Boot:简化Spring应用程序的开发
前言 Spring Boot是一个基于Spring框架的开源项目,旨在简化Spring应用程序的开发、配置和部署。本文将详细介绍Spring Boot的基本概念、特性、常用注解和实践。我们将使用一个实际的示例,帮助你更好地理解和应用Spring Boot。
5249 5
Spring Boot:简化Spring应用程序的开发
|
Java Spring
【Spring源码】Spring源码导入Idea
【Spring源码】Spring源码导入Idea
170 0
|
SpringCloudAlibaba Java Spring
Spring Cloud Alibaba - 02 SpringCloud 、 SpringCloud Alibaba 、SpringBoot的生产版本选择
Spring Cloud Alibaba - 02 SpringCloud 、 SpringCloud Alibaba 、SpringBoot的生产版本选择
399 0
|
XML 前端开发 Java
Spring6--->Spring6介绍
最新最全的Spring6入门教程,学习链接:B站 动力节点_老杜的视频!!
1493 0
|
前端开发 JavaScript Java
css-spring、svg-spring
css-spring、svg-spring
94 0
|
存储 Java Maven
Spring 项目过程及如何使用 Spring
Spring 项目过程及如何使用 Spring
|
XML 开发框架 前端开发
Java企业级开发神器:Spring、MyBatis、Spring MVC和Spring Boot!
Java企业级开发神器:Spring、MyBatis、Spring MVC和Spring Boot!
211 0
|
XML 前端开发 IDE
Spring MVC-使用Spring Tool Suite IDE搭建Spring MVC开发环境
Spring MVC-使用Spring Tool Suite IDE搭建Spring MVC开发环境
71 0
|
前端开发 Java 数据库连接
Spring-Spring4.X 概述
Spring-Spring4.X 概述
99 0