Spring随笔(06)

1、简单类型和复合类型的setter注入

  DI:Dependency Injection(依赖注入)

  从字面上分析:

  IoC:指将对象的创建权,反转到Spring容器

  DI:指Spring容器创建对象的过程中,将对象依赖属性通过配置进行注入

  其实它们是同一个概念的不同角度描述。DI相对IoC而言,明确描述了“被注入对象依赖IoC容器配置依赖对象”。

  

  1)怎么注入值:

    方式1:属性注入,通过setter方法;

    方式2:构造器注入,通过构造器;

  2)注入的方式:

    手动装配:

      基于XML:

      基于注解:

    自动装配:不安全,不推荐

  3)注入哪些类型的值:

    ①简单值类型:基本类型+String+URL等

    ②复合类型(对象类型):

    ③集合类型(了解,框架内部使用)

public class Employee{
    private String name;
    private Integer age;
    private Double salary;
    private URL url;

    // 省略getter、setter方法
}
<!-- ①简单值类型:基本类型+String+URL等 --><bean id="employee" class="Employee全限定名">
    <property name="name" value="John"/>
    <property name="age" value="20"/>
    <property name="salary" value="5000"/>
    <property name="url" value="http://www.baidu.com"/>
</bean>

<!-- ②复合类型 --><bean id="employeeDao" class="EmployeeDao全限定名"/>
<bean id="employeeService" class="EmployeeService全限定名">
    <property name="employeeDao" ref="employeeDao"/>
</bean>
public class EmployeeService{
    private EmployeeDao employeeDao;

    public void setEmployeeDao(EmployeeDao employeeDao){
        employeeDao = employeeDao;
    }

    public void save(){
        employeeDao.save();     System.out.println("Service.save()")
    }
}
public class EmployeeeDao{
    public void save(){
        System.out.println("Dao.save()")
    }
}

有的时候,若想只有一个bean引用另一个bean,类似于匿名内部类

<bean id="employeeService" class="EmployeeDao全限定名">
    <property name="employeeDao">
        <bean class="EmployeeDao全限定名"/>
    </property>
</bean>
时间: 2024-11-06 11:11:03

Spring随笔(06)的相关文章

Spring随笔06 利用LDAP校验用户

本小节将一步步教会你建立一个项目并给它添加Spring Security LDAP 模块. 你将建立一个 通过 Spring Security 提供的服务 来加密的程序, 该服务嵌入了 java 基本的 LDAP 加密. 你会通过加载一个配置了用户名密码集合的配置文件 来启动该服务. 1.建立一个简单的Controller.这个Controller向前端写回简单的一句话.如下: 1 package cn.tiny77.guide06; 2 3 import org.springframework

Spring(06)IOC 依赖注

目录 Spring(06)IOC 依赖注 1. 依赖注入的模式和类型 1.1 依赖注入模式 1.2 依赖注入类型 2. 自动绑定(Autowiring) 3. 自动绑定(Autowiring)模式 4. 自动绑定(Autowiring)限制和不足 5. Setter 方法依赖注入 6. 构造器依赖注入 7. 字段注入 8. 方法注入 9. 回调注入 10. 依赖注入类型选择 11. 基础类型注入 12. 集合类型注入 13. 限定注入 14. 延迟依赖注入 15. 依赖处理过程 16. @Aut

Spring随笔(03)

1.Spring测试 @RunWith(SpringJUnit4ClassRunner.class)  // 告诉把Spring容器运行在JVM中 // 若配置文件名=当前测试类名-context.xml,就可以在当前路径找 @ContextConfiguration({"/spring/applicationContext.xml"}) // 加载配置文件,默认从当前路径去找 public class BaseJunit4Test { }

Spring 随笔05 文件上传

本小节你将建立一个可以接受HTTP multi-part 文件的服务. 你将建立一个后台服务来接收文件以及前台页面来上传文件. 要利用servlet容器上传文件,你要注册一个MultipartConfigElement类,以往需要在web.xml 中配置<multipart-config>,而在这里,你要感谢SpringBoot,一切都为你自动配置好了. 1.新建一个文件上传的Controller: 应用已经包含一些 存储文件 和 从磁盘中加载文件 的类,他们在cn.tiny77.guide0

Spring随笔 —— IOC配置的三种不同方式简介

在spring framework中,IOC的配置是最基础的部分,常见的配置方式有基于xml文件和基于注解的配置方式.除了这两种配置方式之外,今天这里再介绍另一种配置方式,先用小demo重温下我们熟悉的两种配置方式. UserService调用UserDao中的login(String username, String password)方法. 一.基于XML配置文件的方式 UserDao.java 1 package org.lizf.demo; 2 3 public class UserDa

Spring随笔 - 事务隔离级别

Spring提供5中事务隔离级别: ISOLATION_DEFAULT:使用数据库后端的默认隔离级别. ISOLATION_READ_UNCOMMITTED:允许读取尚未提交的数据变更.可能会导致脏读.幻读或者不可重复读. ISOLATION_READ_COMMITTED:允许读取并发事务已经提交的数据.可以阻止脏读,但是幻读或者不可重复读仍有肯能发生. ISOLATION_REPEATABLE_READ:对同一字段的多次读取结果是一致的.除非数据被本事务自己所修改,可以防止脏读和不可重复读,但

Spring 教程06

spring-6 1. Xml <!-- \build\classes\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-

Spring随笔-bean装配-自动装配

Spring提供了三种装配方式 1.XML文件进行显式装配 2.java中进行显示装配 3.自动化装配 1.自动化装配的两种实现方式 1.组件扫描:Spring会自动发现应用上下文中创建的bean 2.自动装配:Spring自动满足bean之间的依赖 自动装配 自动装配

面向使用的软件设计随笔06

将软件卖出去,是软件成功的最终标志.必须让决策者相信应用程序开发计划的价值;必须让潜在客户看到软件可以满足他们的某种需要.可用性并不总是能够决定软件的销售.有些很难用的软件已被人们广泛使用,有的软件用户界面的确低劣,但却长时间未被淘汰.在每个计算机应用领域中都有这样一个初始阶段,只要一个产品能够完成某些有用的任务就足以在市场上立足或者得到决策者的认可,而不管它如何粗劣.但计算机应用是在不断发展的.设计和开发人员一直在进行设计和开发,并且对基本功能进行扩充和细化.用户开始要求更多的功能和特性,设计