Spring框架中的对象初始化

时间:2014-09-14 19:00:01

标签: spring spring-mvc

我正在学习弹簧框架我有一些疑问要确认:

  1. 我看到类对象在xml文件中被创建为bean ...但我怀疑是......只需要在xml中定义pojo类bean以进行实例化或所有类 例如:我的自定义代码类EncryptionUtil类有助于加密数据等自定义逻辑类还需要使用bean进行实例化吗?这是我的主要关注点

  2. 像我这样的案件

    JSONObject j = new JSONOBJect() (External libs);
    ArrayList<String> a = new ArrayList<String>();
    
  3. (java默认对象和集合) 这些类还需要在xml中使用bean吗?

    1. 我完全不知道spring ioc是否会实例化每个对象,或者我们只需要实例化一些对象 此外,在春季应用程序中,“新”关键字用于创建对象

    2. 我们应该使用什么来在spring mvc中实例化bean? ie:就像我在我的春季应用程序中使用ApplicationContext一样,我应该在任何地方获取bean需要

    3. 如果我使用多个注释即会出现任何问题,例如:spring和同时在同一个类上休眠吗? 例如:像这样的东西

      @Id @GeneratedValue
      @Column(name = "id")
      private int id;
      

      但如果我想要id也可以自动装配......

      @Autowired @Id @GeneratedValue @Column(name =“id”) private int id;

    4. 这会有用吗?

1 个答案:

答案 0 :(得分:3)

  1. 仅将类声明为Spring Beans,您不希望使用new创建。进一步的春豆通常是单身人士。这意味着此类只有一个实例。在大多数情况下,Spring Beans不是POJO。例如,我主要将DAO,服务,控制器类声明为Spring Beans。
  2. 不需要将这些声明为Spring Beans。
  3. 是的,新作品。但是这些实例不是由弹簧容器管理的。而且你应该只用新的实例化非春豆。 Spring Bean本身由Spring IOC容器实例化。
  4. 使用xml config或注释配置(@Autowired)将bean注入其他bean。
  5. 您可以将spring注释与其他框架的注释混合使用。但是你的id的例子不起作用,没有意义,因为实体id不会被注入。你的Hibernate实体也必须是一个spring bean(在这种情况下声明为原型)。您只能将值和bean注入spring bean。
相关问题