Java框架spring Boot学习笔记(九):注入对象类型属性

使用set方法注入对象属性

编写UserDao.java文件

1 package com.example.spring;
2
3 public class UserDao {
4     public void print(){
5         System.out.println("Dao print.");
6     }
7 }

编写UserService.java文件

 1 package com.example.spring;
 2
 3 public class UserService {
 4     //1、定义dao类型属性
 5     private UserDao userDao;
 6     //2、生成set方法
 7     public void setUserDao(UserDao userDao){
 8         this.userDao = userDao;
 9     }
10
11     public void print(){
12         System.out.println("Service print.");
13         //如果不使用Spring对象属性注入的方式,想在service中调用dao里面的方法,必须先new一个dao的对象
14         //UserDao dao = new UserDao();
15         //dao.print();
16         userDao.print();
17     }
18 }

编写Beans.xml文件

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
 5
 6     <bean id="userDao" class="com.example.spring.UserDao"></bean>
 7
 8     <bean id="userService" class="com.example.spring.UserService" >
 9         <property name="userDao" ref="userDao"></property>
10     </bean>
11 </beans>

注意注入的属性是UserDao类的id。

编写Application.java

 1 package com.example.spring;
 2
 3 import org.springframework.context.support.AbstractApplicationContext;
 4 import org.springframework.context.support.ClassPathXmlApplicationContext;
 5
 6 public class Application {
 7     public static void main(String[] args) {
 8         //bean配置文件所在位置 D:\\IdeaProjects\\spring\\src\\Beans.xml
 9         //使用AbstractApplicationContext容器
10         AbstractApplicationContext context = new ClassPathXmlApplicationContext("file:D:\\IdeaProjects\\spring\\src\\Beans.xml");
11         //得到配置创建的对象
12         UserService userService = (UserService) context.getBean("userService");
13         userService.print();
14     }
15 }

运行输出

Service print.
Dao print.
时间: 2024-08-09 19:54:08

Java框架spring Boot学习笔记(九):注入对象类型属性的相关文章

Java框架spring Boot学习笔记(七):基于构造函数的依赖注入

编写User.java 1 package com.example.spring; 2 3 public class User { 4 private String name; 5 private Integer age; 6 private String country; 7 8 public User(String name, Integer age, String country) { 9 this.name = name; 10 this.age = age; 11 this.count

Java框架spring Boot学习笔记(十一):bean管理(注解和配置文件混合使用)

配置文件和注解混合使用 创建对象操作使用配置文件方式实现 注入属性的操作使用注解方式实现 编写BookDao.java和OrderDao.java文件 BookDao.java 1 package com.example.spring; 2 3 public class BookDao { 4 public void book(){ 5 System.out.println("Book Dao."); 6 } 7 } OrderDao.java 1 package com.exampl

Java框架spring Boot学习笔记(三):Bean的作用域

Spring 框架Bean支持以下五个作用域: 下面介绍两种作用域,singleton和protoype singleton作用域 singleton作用域为默认作用域,在同一个ioc容器内getBean是同一个bean,如果创建一个singleton作用域Bean定义的对象实例,该实例将存储在该Bean的缓存中,那么以后所有针对该 bean的请求和引用都返回缓存对象. 编写HelloWorld.java 1 package com.example.spring; 2 3 public clas

Java框架spring Boot学习笔记(十三):aop实例操作

使用aop需要在网上下载两个jar包: aopalliance.jar aspectjweaver.jar 为idea添加jar包,快捷键ctrl+shift+alt+s,打开添加jar包的对话框,将刚才下载好的jar添加进去 前置增强实例 编写TimeHandler.java 1 package com.example.spring; 2 3 public class TimeHandler { 4 public void beforTime() 5 { 6 System.out.printl

Java框架spring Boot学习笔记(八):Spring相关概念

Spring是开源.轻量级.一站式框架. Spring核心主要两部分 aop:面向切面编程,扩展功能不是修改源代码实现 ioc:控制反转,比如一个类,在类里面有方法(不是静态的方法),想要调用类里面的方法,一般的方法是创建对象(new一个),通过new出来的这个对象调用方法.而使用Spring框架时,对象的创建不是通过new出来,而是交给Spring配置创建类对象.

Java框架spring Boot学习笔记(十六):操作MySQL数据库

新建一个工程,添加对数据库的支持 下载mysql驱动包 mysql-connector-java-5.1.7-bin.jar,快捷键ctrl+alt+shift+s,添加jar包到工程 编写测试文JdbcTemplateDemo.java 1 package com.jdbc; 2 3 import org.junit.Test; 4 import org.springframework.jdbc.core.JdbcTemplate; 5 import org.springframework.j

Java框架spring Boot学习笔记(十四):log4j介绍

功能 日志功能,通过log4j可以看到程序运行过程的详细信息. 使用 导入log4j的jar包 复制log4j的配置文件,复制到src下面   3.设置日志级别 info:看到基本信息 debug:看到更详细的信息

Spring boot 学习笔记 (二)- 整合MyBatis

Spring boot 学习笔记 (二)- 整合MyBatis Spring Boot中整合MyBatis,并通过注解方式实现映射. 整合MyBatis 以Spring boot 学习笔记 (一)- Hello world 为基础项目,在pom.xml中添加如下依赖 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter&l

Spring boot 学习笔记 - Hello world

Spring boot 学习笔记 - Hello world spring boot介绍: spring-boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者. Hello world 通过官网https://start.spring.io/