博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从头认识Spring-2.4 基于java的标准注解装配-@Inject(2)-通过set方法或者其它方法注入...
阅读量:5934 次
发布时间:2019-06-19

本文共 2367 字,大约阅读时间需要 7 分钟。

这一章节我们来讨论一下基于java的标准注解装配标签@Inject是如何通过通过set方法或者其它方法注入?

在使用@Inject标签之前。我们须要在pom文件中面增加以下的代码:

javax.inject
javax.inject
1
上面是j2ee里面标准的inject标签依赖。

1.domain

蛋糕类:(不变)

package com.raylee.my_new_spring.my_new_spring.ch02.topic_1_14;public class Cake {	private String name = "";	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}}

厨师类:

通过set方法注入

package com.raylee.my_new_spring.my_new_spring.ch02.topic_1_14;import javax.inject.Inject;public class Chief {	private Cake cake = null;	public Cake getCake() {		return cake;	}	@Inject	public void setCake(Cake cake) {		this.cake = cake;	}	private String name = "";	public String getName() {		return name;	}	public Cake makeOneCake() {		System.out.println(getName() + " make " + cake.getName());		return cake;	}	public void setName(String name) {		this.name = name;	}}
通过其它方法注入:

package com.raylee.my_new_spring.my_new_spring.ch02.topic_1_14;import javax.inject.Inject;public class Chief {	private Cake cake = null;	public Cake getCake() {		return cake;	}	@Inject	public void injectCake(Cake cake) {		this.cake = cake;	}	private String name = "";	public String getName() {		return name;	}	public Cake makeOneCake() {		System.out.println(getName() + " make " + cake.getName());		return cake;	}	public void setName(String name) {		this.name = name;	}}
这里须要注意的是。尽管我们的cake属性域是赋值为null。可是当spring容器启动时,通过@Inject标签在set方法或者其它方法的地方注入cake对象

2.測试类:

package com.raylee.my_new_spring.my_new_spring.ch02.topic_1_14;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.ApplicationContext;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations = {		"/com/raylee/my_new_spring/my_new_spring/ch02/topic_1_14/ApplicationContext-test.xml" })public class ChiefTest {	@Autowired	private ApplicationContext applicationContext;	@Test	public void testChief() {		Chief jack = applicationContext.getBean(Chief.class);		jack.makeOneCake();	}}
3.配置文件:

測试输出:

jack make blueberryCheeseCake

总结:这一章节主要介绍基于java的标准注解装配标签@Inject是如何通过set方法或者其它方法注入。

文件夹: 

 

我的github:

转载地址:http://hoctx.baihongyu.com/

你可能感兴趣的文章
Android自动生成代码的2种方式
查看>>
让人疑惑的Java代码 - Java那些事儿
查看>>
用 Vue 撸一个微博客户端
查看>>
False SQL Injection and Advanced Blind SQL Injection
查看>>
这么说吧,Lucene很简单,其实就是个框架,用于全文检索用的
查看>>
聊聊storm trident的state
查看>>
JB的Python之旅-爬虫篇-新浪微博内容爬取
查看>>
如何把 Java Web 应用放在 docker 容器中运行
查看>>
Xcode的Refactor使用
查看>>
webpack配置historyApiFallback的坑
查看>>
浅谈Javascript中的作用域链
查看>>
PopupMenu
查看>>
自己动手做一个IM框架(二)
查看>>
Javascript 模块化指北
查看>>
MarkDown 的常用高阶教程
查看>>
利用File,Drop&Drag,XHR2实现图片拖拽上传
查看>>
如何用 SpringBoot 优雅的写代码
查看>>
Jerry 2017年的五一小长假:8种经典排序算法的ABAP实现
查看>>
Aapt.exe finished with non-zero exit value 1
查看>>
关于vuex购物车实现的原理
查看>>