Spring文件第四课SpringIOC 的三种方案利用注解的方式(一)

简介: Spring文件第四课SpringIOC 的三种方案利用注解的方式(一)

@1 Spring定义:

Spring是-一个容器.它是整合其它框架的框架.它的核心是IOC和AOP.它由20多个模块构成.它在很多领域都提供优秀的解决方案.

@2 Spring框架的特点:

轻量级由20多个模块构成,每个jar包都很小,小于1M,核心包也就3M左右.对代码无污染.

@3 面向接口编程

使用接口,就是面向灵活,项目的可扩展性,可维护性都极高接口不关心实现类的类型.使用时接口指向实现类,切换实现类即可切换整个功能

@4AOP:面向切面编程

就是将公共的,通用的,重复的代码单独开发,在需要的时候反回去.底层的原理是动态代理.

@5 什么是IOC的反转.回顾一下面向对象与面向过程。又不难理解了。

@5-11控制反转IoC (Inversion of Control)是- - 个概念,是一种思想。 由Spring容 器进行对象的创建和依赖注入.程序员在使用时直接取出。

@5-2正转:由程序员进行对象的创建和依赖注入称为正转.程序员说了算.如下图所示

@Test
    public void java() {
        System.out.println("第一种方案java方式创建对象与赋值");
        Animal animal = new Animal();
        animal.setId(1001);
        animal.setAge("2");
        animal.setName("小鸟");
        animal.setColor("red");
        animal.setHeight(170);
        animal.setWeight(32);
        animal.setX("我是未知的属性");
        System.out.println(animal);
        System.out.print("动物编号" + animal.getId()
                + "动物姓名" + animal.getName()
                + "动物年龄" + animal.getAge()
                + "动物的身高" + animal.getHeight()
                + "动物的体重" + animal.getWeight()
                + "动物的色彩" + animal.getColor()
                + "动物的未知属性" + animal.getX());
    }


运行结果:



总结:以我为中心去判断这事情是否需要自己亲力亲为的办理。如果需要又是面向过程。简称:IOC正转

@5-3反转:由Spring容器创建对象和依赖注入称为反转,将控制权从程序员手中夺走,由给spring容器,称为反转.

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:context="http://www.springframework.org/schema/context"
  xsi:schemaLocation="http://www.springframework.org/schema/beans
  http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
  http://www.springframework.org/schema/context
  http://www.springframework.org/schema/context/spring-context-3.2.xsd">
  <!--<bean id="填对象名" class="要创建对象的类的完整包名"></bean>-->
  <!--java注解的方式创建类的对象,该对象不写在这个主配置文件中
  写在了要创建对象的类的上面,需要在运行的时候,主配置文件要找到所有使用注解方式创建的对象
  然后动态的加载进主配置文件-->
<!--//狗编号//狗姓名//狗年龄//狗皮肤的色彩//狗的身高//狗的重量-->
  <bean id="dog" class="com.spring.entity.Dog">
  <property name="id" value="1002"></property>
  <property name="name" value="我是Spring框架的对象小狗"></property>
  <property name="age" value="9"></property>
  <property name="color" value="黑色"></property>
  <property name="height" value="120"></property>
  <property name="weight" value="11"></property>
  <property name="x" value="狗的run"></property>
  </bean>
/**
     * 第二种方式Spring创建对象与赋值 Spring框架  利用Bean管理数据
     */
    @Test
    public void SpringDog() {
        System.out.println("第二种方式Spring创建对象与赋值 Spring框架  利用Bean管理数据");
        ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
        Dog dog = ac.getBean("dog", Dog.class);
        System.out.println("利用Spring文件赋值");
        System.out.println("狗的编号" + dog.getId()
                + "狗的姓名" + dog.getName()
                + "狗的年龄"
                + dog.getAge() + "狗的色彩"
                + dog.getColor() + "狗的身高"
                + dog.getHeight() + "狗的体重"
                + dog.getWeight() + "调用Animal的独有属性" +
                dog.getX());
    }

运行结果:



 总结:以我为中心去判断这事情不需要自己亲力亲为的办理,而是找个对象帮你完成称为面向对象。简称IOC反转

相关文章
|
4月前
|
XML Java 数据格式
SpringBoot入门(8) - 开发中还有哪些常用注解
SpringBoot入门(8) - 开发中还有哪些常用注解
75 0
|
1月前
|
XML Java 测试技术
Spring IOC—基于注解配置和管理Bean 万字详解(通俗易懂)
Spring 第三节 IOC——基于注解配置和管理Bean 万字详解!
124 26
|
2月前
|
缓存 Java 数据库
SpringBoot缓存注解使用
Spring Boot 提供了一套方便的缓存注解,用于简化缓存管理。通过 `@Cacheable`、`@CachePut`、`@CacheEvict` 和 `@Caching` 等注解,开发者可以轻松地实现方法级别的缓存操作,从而提升应用的性能和响应速度。合理使用这些注解可以大大减少数据库的访问频率,优化系统性能。
194 89
|
4月前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
141 2
|
3月前
|
Java Spring
【Spring】方法注解@Bean,配置类扫描路径
@Bean方法注解,如何在同一个类下面定义多个Bean对象,配置扫描路径
185 73
|
23天前
|
监控 Java Spring
SpringBoot:SpringBoot通过注解监测Controller接口
本文详细介绍了如何通过Spring Boot注解监测Controller接口,包括自定义注解、AOP切面的创建和使用以及具体的示例代码。通过这种方式,可以方便地在Controller方法执行前后添加日志记录、性能监控和异常处理逻辑,而无需修改方法本身的代码。这种方法不仅提高了代码的可维护性,还增强了系统的监控能力。希望本文能帮助您更好地理解和应用Spring Boot中的注解监测技术。
58 16
|
3月前
|
Java Spring 容器
【SpringFramework】Spring IoC-基于注解的实现
本文主要记录基于Spring注解实现IoC容器和DI相关知识。
68 21
|
3月前
|
存储 Java Spring
【Spring】获取Bean对象需要哪些注解
@Conntroller,@Service,@Repository,@Component,@Configuration,关于Bean对象的五个常用注解
|
3月前
|
Java Spring
【Spring配置】idea编码格式导致注解汉字无法保存
问题一:对于同一个项目,我们在使用idea的过程中,使用汉字注解完后,再打开该项目,汉字变成乱码问题二:本来a项目中,汉字注解调试好了,没有乱码了,但是创建出来的新的项目,写的注解又成乱码了。
|
3月前
|
Java Spring
【Spring配置】创建yml文件和properties或yml文件没有绿叶
本文主要针对,一个项目中怎么创建yml和properties两种不同文件,进行配置,和启动类没有绿叶标识进行解决。

热门文章

最新文章