使用set方法注入对象属性

编写UserDao.java文件

 package com.example.spring;

 public class UserDao {
public void print(){
System.out.println("Dao print.");
}
}

编写UserService.java文件

 package com.example.spring;

 public class UserService {
//1、定义dao类型属性
private UserDao userDao;
//2、生成set方法
public void setUserDao(UserDao userDao){
this.userDao = userDao;
} public void print(){
System.out.println("Service print.");
//如果不使用Spring对象属性注入的方式,想在service中调用dao里面的方法,必须先new一个dao的对象
//UserDao dao = new UserDao();
//dao.print();
userDao.print();
}
}

编写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="userDao" class="com.example.spring.UserDao"></bean> <bean id="userService" class="com.example.spring.UserService" >
<property name="userDao" ref="userDao"></property>
</bean>
</beans>

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

编写Application.java

 package com.example.spring;

 import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; public class Application {
public static void main(String[] args) {
//bean配置文件所在位置 D:\\IdeaProjects\\spring\\src\\Beans.xml
//使用AbstractApplicationContext容器
AbstractApplicationContext context = new ClassPathXmlApplicationContext("file:D:\\IdeaProjects\\spring\\src\\Beans.xml");
//得到配置创建的对象
UserService userService = (UserService) context.getBean("userService");
userService.print();
}
}

运行输出

Service print.
Dao print.

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

  1. Java框架spring 学习笔记(六):属性注入

    属性注入:创建对象的时候,向类里面的属性设置值. Java属性注入有三种方法: 使用set方法注入 有参数构造注入 使用接口注入 Spring框架里面的属性注入方式 有参数构造属性注入 set方法属性 ...

  2. Java框架spring 学习笔记(十八):事务管理(xml配置文件管理)

    在Java框架spring 学习笔记(十八):事务操作中,有一个问题: package cn.service; import cn.dao.OrderDao; public class OrderSe ...

  3. Spring根据XML配置文件注入对象类型属性

    这里有dao.service和Servlet三个地方 通过配过文件xml生成对象,并注入对象类型的属性,降低耦合 dao文件代码: package com.swift; public class Da ...

  4. Java框架spring 学习笔记(十四):注解aop操作

    回见Java框架spring Boot学习笔记(十三):aop实例操作,这里介绍注解aop操作 首先编写一个切入点HelloWorld.java package com.example.spring; ...

  5. Java框架spring 学习笔记(九):Spring的bean管理(@Required、@Component、@Autowired、@Resource注解)

    注解:代码里面特殊的标记,使用注解可以完成相关功能 注解写法:@注解名称(属性名.属性值) @Required 用在set方法上,一旦用了这个注解,那么容器在初始化bean的时候必须要进行set,也就 ...

  6. Java框架spring 学习笔记(一):SpringBean、ApplicationContext 容器、BeanFactory容器

    Spring容器是Spring框架的核心,容器可以创建对象并创建的对象连接在一起,配置和管理他们的整个生命周期.Spring 容器使用依赖注入(DI)来作为管理应用程序的组件,被称为 Spring B ...

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

    配置文件和注解混合使用 创建对象操作使用配置文件方式实现 注入属性的操作使用注解方式实现 编写BookDao.java和OrderDao.java文件 BookDao.java package com ...

  8. Java框架spring 学习笔记(三):Bean 的生命周期

    当一个 bean 被实例化时,它可能需要执行一些初始化使它转换成可用状态.当bean不再需要,并且从容器中移除时,需要做一些清除工作.为了定义安装和拆卸一个 bean,我们只要声明init-metho ...

  9. Java框架spring 学习笔记(七):Spring相关概念

    Spring是开源.轻量级.一站式框架. Spring核心主要两部分 aop:面向切面编程,扩展功能不是修改源代码实现. ioc:控制反转,把对象的创建交给Spring进行配置,比如一个类,在类里面有 ...

随机推荐

  1. ES - Dynamic templates 动态模板

    1.ES Mapping 在lucene中,索引中每个字段都需要指定很多属性,例如:是否分词.采用哪个分词器.是否存储等. 在ES中,其实索引中每个字段也需要指定这些属性,我们有时候并没有对这些属性进 ...

  2. C++类的组合例子

    Line类调用Point类的两个对象p1,p2作为其数据成员,计算线段长度 组合类构造函数定义的一般形式为: 类名::类名(形参表):内嵌对象1(形参表),内嵌对象2(形参表)... {类的初始化} ...

  3. DES加密算法—实现(C语言)

    http://www.iteye.com/topic/478024 DES(Data Encrypt Standard数据库加密标准)是迄今为止使用最广泛的加密体制. 初学信息安全的新生,一般都会被老 ...

  4. Spring AOP使用注解记录用户操作日志

    最后一个方法:核心的日志记录方法 package com.migu.cm.aspect; import com.alibaba.fastjson.JSON; import com.migu.cm.do ...

  5. 【转】sqlserver使用sql导出索引

    转自:http://blog.itpub.net/16436858/viewspace-609341/ BEGIN WITH tx AS ( SELECT a.object_id ,b.name AS ...

  6. chmod 755 是李鬼(转)

    (1) 使用ls –l查看文件,前面显示的-rwxrwxr-x是什么意思? (2) chmod 755 xxx.sh又是什么意思? 1分钟简单说下,这两个和权限相关的问题. 先说下文件类型,访问方式, ...

  7. C# winform三种方法判断文本框textBox内容是否为空

    使用系统API函数,需要使用命名空间:System.Runtime.InteropServices: 1.if (textBoxPath.Text ==  String.Empty ) 2.if (t ...

  8. python学习(list增删改查、及常用方法)

    1.Python多条件判断: 多条件判断if: passelse: pass循环 while for i = 0 while i > 1: print('hello') else: print( ...

  9. tomcat启动成功后访问却404

    1.检查是否把项目添加进tomcat,好久不用tomcat这次就犯了这种低级错误 2.检查路径,tomcat中的访问路径与项目中设置的路径是否一样,因为这次有些配置文件直接复制的源码,但源码中项目名称 ...

  10. 关于SQLserver2008索引超出了数据

    由于公司只支持了2008.不支持2012的数据库.所以安装的2008.但在对表进行操作的时候出现如下异常: 这个问题是由于本地装的2008,但IT那边的测试机上面确装的2012.所以2008连接了20 ...