SPRING01_概述、配置文件、bean实例化、依赖注入的方式、依赖注入的数据类型、分模块开发、API使用(三)

简介: SPRING01_概述、配置文件、bean实例化、依赖注入的方式、依赖注入的数据类型、分模块开发、API使用(三)

④. 依赖注入的方式


  • ①. 依赖注入(Dependency Injection):它是Spring框架核心 IOC 的具体实现(将对象的依赖自动注入到属性值(Dependency Injection))


  • ②. 有参构造方法


  public class UserServiceImpl implements UserService {
      private UserDao userDao;
      public UserServiceImpl(UserDao userDao1) {
          this.userDao = userDao1;
      }
      public void save() {
         userDao.save();
      }
  }


  <bean id="userDao" class="com.xiaozhi.dao.impl.UserDaoImpl"/>
  <bean id="userService" class="com.xiaozhi.service.impl.UserServiceImpl">  
  <---这个name对应有参构造中的userDao参数-->            
  <constructor-arg name="userDao1" ref="userDao"></constructor-arg>
  </bean>


②. set方法


//1.在UserServiceImpl中添加setUserDao方法
public class UserServiceImpl implements UserService {
    private UserDao userDao;
    public void setUserDao(UserDao userDao) {
                this.userDao = userDao;
    }
    public void save() {
        userDao.save();
    }
}
//2.配置Spring容器调用set方法进行注入
<bean id="userDao" class="com.xiaozhi.dao.impl.UserDaoImpl"/>
<bean id="userService" class="com.xiaozhi.service.impl.UserServiceImpl">
  <!--这个name要求是set后首字母改小写-->
  <property name="userDao" ref="userDao"/>
</bean>


  //当我们执行这些代码的时候,会加载配置文件,配置文件中会依次向下执行
  //先创建UserDaoImpl的对象,后创建UserServiceImol对象
  //最后调用UserServiceImpl中的set方法
  ClassPathXmlApplicationContext app = 
  new ClassPathXmlApplicationContext("applicationContext.xml");
  UserDao userDao1 = (UserDao) app.getBean("userDao");
  System.out.println(userDao1);


  • ③. set方法:P命名空间注入 了解


  1. P命名空间注入本质也是set方法注入,但比起上述的set方法注入更加方便,主要体现在配置文件中,如下:


xmlns:p="http://www.springframework.org/schema/p"


其次,需要修改注入方式


<bean id="userService" class="com.xiaozhi.service.impl.UserServiceImpl" p:userDao-
 ref="userDao"/>



相关文章
|
3月前
|
Java Spring
Spring boot 运行服务jar外配置配置文件方式总结
Spring boot 运行服务jar外配置配置文件方式总结
491 0
|
9天前
|
消息中间件 NoSQL 安全
(转)Spring Boot加载 不同位置的 application.properties配置文件顺序规则
这篇文章介绍了Spring Boot加载配置文件的顺序规则,包括不同位置的application.properties文件的加载优先级,以及如何通过命令行参数或环境变量来指定配置文件的名称和位置。
|
2月前
|
测试技术 编译器 Go
依赖注入与控制反转:优化Go语言REST API客户端
依赖注入与控制反转:优化Go语言REST API客户端
|
2月前
|
Java Spring 传感器
AI 浪潮席卷,Spring 框架配置文件管理与环境感知,为软件稳定护航,你还在等什么?
【8月更文挑战第31天】在软件开发中,配置文件管理至关重要。Spring框架提供强大支持,便于应对不同环境需求,如电商项目的开发、测试与生产环境。它支持多种格式的配置文件(如properties和YAML),并能根据环境加载不同配置,如数据库连接信息。通过`@Profile`注解可指定特定环境下的配置生效,同时支持通过命令行参数或环境变量覆盖配置值,确保应用稳定性和可靠性。
41 0
|
2月前
|
开发框架 .NET API
服务注册自治,降低 ASP.NET Core Web API 依赖注入的耦合度和复杂度
服务注册自治,降低 ASP.NET Core Web API 依赖注入的耦合度和复杂度
|
2月前
|
XML Java 数据库连接
深入解析 Spring 配置文件:从基础到高级
【8月更文挑战第3天】Spring配置文件是构建与管理Spring应用的核心,它涵盖了从基础到高级的各种配置技巧。基础配置采用`.xml`格式定义Bean及其依赖;中级配置包括设置Bean作用域及引入属性文件;高级配置则涉及AOP、事务管理和与其他框架的整合。熟练掌握这些配置能帮助开发者构建出更为灵活且易维护的应用系统。
|
3月前
|
存储 安全 Java
Spring Boot中的配置文件加密
Spring Boot中的配置文件加密
|
3月前
|
Java Spring
解析Spring Boot中的配置文件与外部化配置
解析Spring Boot中的配置文件与外部化配置
|
3月前
|
存储 Java Spring
Spring Boot中的应用配置文件管理
Spring Boot中的应用配置文件管理
|
4月前
|
存储 Java Spring
Spring Boot中的应用配置文件管理
Spring Boot中的应用配置文件管理
下一篇
无影云桌面