一: 注入一个testutils类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
package com.shop.sell.utils; import com.shop.sell.dto.cartdto; import org.springframework.context.annotation.bean; import org.springframework.context.annotation.configuration; @configuration public class testutils { @bean (name= "testdemo" ) public cartdto said() { cartdto cartdto = new cartdto(); cartdto.setproductid( 789 ); cartdto.setproductquantity( 10 ); return cartdto; } } |
二: 创建一个获取bean的公共类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
package com.shop.sell.utils; import org.springframework.beans.beansexception; import org.springframework.context.applicationcontext; import org.springframework.context.applicationcontextaware; import org.springframework.stereotype.component; @component public class springutil implements applicationcontextaware{ private static applicationcontext applicationcontext; @override public void setapplicationcontext(applicationcontext applicationcontext) throws beansexception { if (springutil.applicationcontext == null ) { springutil.applicationcontext = applicationcontext; } } public static applicationcontext getapplicationcontext() { return applicationcontext; } public static object getbean(string name){ return getapplicationcontext().getbean(name); } public static <t> t getbean( class <t> clazz){ return getapplicationcontext().getbean(clazz); } public static <t> t getbean(string name, class <t> clazz){ return getapplicationcontext().getbean(name, clazz); } } |
三: 在控制器中获取bean测试结果
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
package com.shop.sell.controller; import com.shop.sell.utils.resultvoutil; import com.shop.sell.utils.springutil; import com.shop.sell.vo.productinfovo; import com.shop.sell.vo.productvo; import com.shop.sell.vo.resultvo; import com.shop.sell.dataobject.productcategory; import com.shop.sell.dataobject.productinfo; import com.shop.sell.dto.cartdto; import com.shop.sell.from.orderform; import com.shop.sell.service.categoryservice; import com.shop.sell.service.productservice; import org.springframework.beans.beanutils; import org.springframework.beans.factory.annotation.autowired; import org.springframework.context.applicationcontext; import org.springframework.web.bind.annotation.getmapping; import org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.restcontroller; import java.util.arraylist; import java.util.arrays; import java.util.list; /** * 买家商品 */ @restcontroller @requestmapping ( "/buyer/product" ) public class buyerproductcontroller { private static applicationcontext applicationcontext; @autowired private productservice productservice; @autowired private categoryservice categoryservice; @getmapping (value = "/list" ) public cartdto list(){ cartdto cartdto = (cartdto) springutil.getbean( "testdemo" ); return cartdto; } } |
四: 使用postman测试结果
总结
以上所述是小编给大家介绍的关于springboot获取ioc容器中注入的bean(推荐),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:https://blog.csdn.net/weixin_42021727/article/details/80318864