从spring到springmvc到springboot到springcloud(三)

注入方式

这篇博客,接上一篇,来说注入方式。

两种常用的注入种方式:setter方法注入、构造方法注入。

(1)setter方法注入:

配置的时候,这么写:

	<bean id = "userService" class="io.demo.service.serviceImpl.UserServiceImpl">
		<property name="userDao" ref="userDao"></property>
	</bean>

在io.demo.service.serviceImpl.UserServiceImpl中,一定要有userDao的定义和setter方法:

	private UserDao userDao;
	
	public UserDao getUserDao() {
		return userDao;
	}

	public void setUserDao(UserDao userDao) {
		this.userDao = userDao;
	}

别问我get方法要不要!成对的东西,不要强行让他们分开。

(2)构造方法注入

在bean定义中改一下:

	<bean id = "userService" class="io.demo.service.serviceImpl.UserServiceImpl">
		<constructor-arg>
	  	 	<ref bean="userDao"/>
	  	 </constructor-arg>
	</bean>

再加上构造方法:

	private UserDao userDao;

	public UserServiceImpl(UserDao userDao) {
		super();
		this.userDao = userDao;
	}

可以用稀奇古怪的字符定义bean但是最好还是别那么做。
总结一下:
(a) @Autowired 是自动装配,它是使用一种隐式的bean发现机制。
按照名称来查找对应的bean,在程序中,以userService为例:
在这里插入图片描述

定义了bean;使用自动装配时:
在这里插入图片描述
不建议用稀奇古怪的多个类似bean,或者用byType装配,这只会让代码更加难以维护。使用自动装配时,尽量保持bean id=”userService” 和UserService userService这种定义形式,目的是方便维护代码。
(b) 在xml中配置bean:这个的话,是这种:

	<bean id = "userService" class="io.demo.service.serviceImpl.UserServiceImpl">
	</bean>

© 在java中配置bean使用@Component,然后要使用@ComponentScan,使用注解的方式配置bean,这个先有个概念,后面会细说。
代码我附在这里:本文示例资源: newdemo-3.zip.
先看一下代码,做到心中有数。
代码使用的是springMvc,下一节讲springmvc的简单使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值