アプリケーションがSpringコンテナによって管理されている場合、開発者は特定のクラスのインスタンスを作成するのにまだclass.forName()
を使用できますか?または、それはSpringコンテナに違反し、いくつかの例外をもたらすでしょうか?Spring with class.forname()
3
A
答えて
4
はい、あなたがそれを使用することができます。しかし、結果として得られるオブジェクトはSpringによって管理されません。
2
あなたはWebアプリケーションを開発し、想定している場合は、あなたが使用することができますapplicationContext.xml
で定義された豆を持っている:
anyBean
はそのXMLで定義された豆のIDです
ApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(getServletContext());
AnyBean anyBean = (AnyBean) applicationContext.getBean("anyBean");
。新しいインスタンスを作成するのではなく、インスタンスを返します。
また、あなたがプログラムBeanを作成することができますし、コンテキストに登録することができます。
GenericWebApplicationContext context = new GenericWebApplicationContext();
RootBeanDefinition anyBean = new RootBeanDefinition(AnyBean.class);
context.registerBeanDefinition("anyBean",anyBean);
はこれがあなたの質問に答えを与えることを願っています。ありがとう。
関連する問題
- 1. ClassNotFoundException Class.forName( "com.mysql.jdbc.Driver");
- 2. Java Akka Actor with Spring with
- 3. Spring Cloud Camden.SR4 with Spring Boot 1.5.1?
- 4. ang 2 spring security with spring security
- 5. Spring STS 3.9.0 with Spring Boot devtools
- 6. spring session with spring 3.1.2 not working
- 7. Angular2 with Spring Boot and Spring Security
- 8. eclipselink with spring boot
- 9. Swagger Annotation with Spring
- 10. Spring with MongoRepository:DBRef
- 11. Spring Cloud with Liberty
- 12. JADE with Spring?
- 13. Saml with spring 2.5.6
- 14. Log4j2 LogManager.getLogger()with Spring
- 15. JSON with spring-lemon
- 16. Spring Security with Angular2
- 17. AJAX with Spring MVC
- 18. Mockito - MockSettings with spring
- 19. spring insight with org.codehaus.paranamer
- 20. Spring JMSTemplate with ibm.mq.jms.MQQueueConnectionFactory
- 21. inMemoryAuthentication with Spring Boot
- 22. maven with spring mvc
- 23. Lagom with Spring
- 24. Spring + Hibernate with multithreading environment
- 25. LDAP CRUD with Spring Roo
- 26. Java Spring Autowiring with profile
こんにちは、アレックス、迅速な応答をありがとう。あなたはいくつかの例を提供できますか?また、この新しいオブジェクトをスプリングコンテナで管理したい場合はどうすればよいですか? – Mike
こんにちはタパス、コードをありがとう。あなたは春のBeanを呼び出すだけでなくようにClass.forNameを使用するコードを表示することができるだろう? – Mike
@MikeオブジェクトがSpringによって管理されていないということは、自動的に配線されてプロキシされず、他のSpring Beanでは利用できないことを意味します。他の方法は、このオブジェクトに依存性注入が起こらないということです。多くの場所でオブジェクトを作成する例があります。たとえば、http://www.xyzws.com/Javafaq/what-does-classforname-method-do/17です。 –