春天框架中的容器是什么?

the*_*ava 22 java spring terminology

  1. 我正在阅读这篇文章 http://www.vaannila.com/spring/spring-ioc-1.html,这里使用了术语容器.下图显示了容器.这篇文章中的容器是什么?它是一块code还是bean config文件?

  2. 可以在Spring MVC中使用Spring IOC吗?

Ral*_*lph 24

在这种情况下,容器具有某些东西的含义,这些东西提供了某些组件生命所需的基础设施.

你可以这样想象:

  • 就像JVM是运行Java程序的容器一样,
  • Tomcat(或一般的Servlet容器)是运行servlet的东西
  • EJB-Container是EJB所在的环境(请参阅此维基百科文章(德语版,但您可以使用浏览器翻译器))

Spring也是Spring Beans生活的容器.


Ara*_*d A 19

容器用于描述可以在其自身内包含其他组件的任何组件.

根据这里的Spring文档

BeanFactory接口是Spring中的中央IoC容器接口.其
职责包括实例化或获取应用程序对象,配置此类对象以及组合这些对象之间的依赖关系.

IOC是Spring用于关注分离概念的核心原则.无论您使用什么 - Spring MVC,Security,Core,DAO集成,您都将使用IOC原则.


kos*_*osa 8

容器是一段代码,它读取Bean配置文件并执行相应的操作。

是的IOC可以与MVC一起使用。这是一篇关于它的文章。春季MVC


iqb*_*one 5

让我解释一下 spring 容器是什么……假设您有一个 Java 应用程序,其中包含一个名为 Student 的类和一个可变的 student 名称。开始了

public class Student{
 private String name;
 public void setName(String name){
      this.name  = name;
 public void getName(){
      System.out.println("Your Name : " + name);}}
Run Code Online (Sandbox Code Playgroud)

现在您希望 name 变量在应用程序运行时自动初始化为 iqbal,并且学生对象应该在主类中可用。

  • 编写一个 xml 配置文件,您将在其中定义这个 Student 对象。

public class Student{
 private String name;
 public void setName(String name){
      this.name  = name;
 public void getName(){
      System.out.println("Your Name : " + name);}}
Run Code Online (Sandbox Code Playgroud)

现在在主类中,我们有 ApplicationContext

<?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-3.0.xsd">

   <bean id = "Student" class = "com.packagename.Student">
      <property name = "name" value = "iqbal"/>
   </bean>

</beans>
Run Code Online (Sandbox Code Playgroud)

所以请注意这里 ApplicationContext ,这将充当一个容器,并将为您的应用程序创建和管理 Student 类。

  • 如果它是我们不使用 ApplicationContext 的 Web 应用程序或 Spring MVC 程序,那么如何创建容器? (2认同)