3.2配置中-Spring-有哪些关键点容易出错或误解

教程大全 2026-01-27 23:42:22 浏览

Spring 3.2 配置详解

Spring 3.2 简介

Spring 3.2 是 Spring Framework 的一个重要版本,发布于 2011 年,Spring 3.2 在 Spring 3.1 的基础上进行了许多改进和优化,包括对 Spring MVC、Spring AOP、Spring ORM 等模块的增强,本文将详细介绍 Spring 3.2 的配置方式。

Spring 3.2 配置方式

XML 配置

3.2配置关键误区排查

XML 配置是 Spring 应用程序中最为常用的配置方式,通过在 XML 文件中定义 bean 的创建、依赖注入等,实现应用程序的配置。

(1)创建 XML 配置文件

在 Spring 应用程序中,通常需要创建一个 XML 配置文件,如 applicationContext.xml,以下是一个简单的 XML 配置示例:

(2)依赖注入

在 XML 配置文件中,可以使用 元素实现依赖注入,以下是一个依赖注入的示例:

Java 配置

Java 配置是 Spring 3.2 引入的一种新的配置方式,通过注解实现应用程序的配置。

(1)引入注解

在 Spring 应用程序中,需要引入 Spring 的注解,如 @Component、@AutowiRed 等。

import org.springframework.stereotype.Component;import org.springframework.beans.factory.annotation.Autowired;@Componentpublic class HelloService {private String message;@Autowiredpublic void setMessage(String message) {this.message = message;}public String getMessage() {return message;}}

(2)配置类

创建一个配置类,使用 @Configuration 注解标记,并在其中使用 @Bean 注解定义 bean。

import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configurationpublic class AppConfig {@Beanpublic HelloService helloService() {return new HelloServiceImpl();}}

注解配置

Spring 3.2 引入了注解配置,可以替代 XML 配置和 Java 配置。

(1)引入注解

在 Spring 应用程序中,需要引入 Spring 的注解,如 @ComponentScan、@Bean 等。

import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;@Configuration@ComponentScan("com.example")public class AppConfig {}

(2)自动扫描

使用 @ComponentScan 注解,可以自动扫描指定包下的组件,实现自动装配。

Spring 3.2 新特性

Spring MVC 4.0 支持

Spring 3.2 对 Spring MVC 进行了升级,支持 Spring MVC 4.0,新版本提供了许多新特性和改进,如响应式编程、异步请求处理等。

Spring AOP 1.5 支持

Spring 3.2 对 Spring AOP 进行了升级,支持 Spring AOP 1.5,新版本提供了更多注解和功能,如注解式切面编程、自定义注解等。

Spring ORM 3.2 支持

Spring 3.2 对 Spring ORM 进行了升级,支持 Hibernate 4.2、MyBatis 3.2 等 ORM 框架,新版本提供了更多优化和改进,如事务管理、持久化等。

问:Spring 3.2 与 Spring 3.1 有什么区别

答:Spring 3.2 相比 Spring 3.1,在 Spring MVC、Spring AOP、Spring ORM 等模块进行了许多改进和优化,包括响应式编程、异步请求处理、事务管理等。

问:Spring 3.2 的配置方式有哪些?

答:Spring 3.2 的配置方式包括 XML 配置、Java 配置和注解配置,XML 配置是最常用的配置方式,Java 配置和注解配置则提供了更灵活的配置方式。


什么意思

这个是struts中定义action请求跳转的。 login是jsp中定义的提交表单名称,class对应的是java类。 常用用法:此时后面的1就是name中“*”的值,如:userAction!GetName,那么就会执行userAction类中的GetName方法。

spring boot和spring的区别

区别就是:Spring 提供的现成特性,比如依赖注入、事务管理、消息支持、集成支持、面向方面编程支持等等。 但是配置比较繁琐。 springboot的出现减少了大量配置和变更管理的框架开销。 只需在 application* 文件或 application* 中编写配置设置一次,并在各种环境中采用相同的构建版本,比如开发、测试和生产环境。

在spring .xml中,singleton="false"是什么意思?起什么作用?

singleton=false 也就是单例配置模式!比如配置bean的时候1有关bean设置为单例还是原型,究竟怎么确定?2与jsf结合使用时,原来jsf托管的bean的有效范围,怎么在spring的配置中反映出来呢?设置bean属性缺省值是true,相当于 不要单例时,设置singleton=false 什么时候设置singleton=false什么时候设置singleton=true,需要结合实际情况分析 一般,对于immutable class也就是不变类,应该设置为singleton=true,即缺省值 对于mutable class没有绝对的原则,需要结合实际情况分析1如果你是想知道怎么在配置文件中配置单实例,ustbzhangwei(wei)说得已经非常明白了,如果你是问什么时候应该用singleton,这个没有定论,看你的业务需求,一般来说,没有全局变量的类(DAO)都应该定义为singleton,有全局变量的,如果其值不可变或者有业务需求,也应该设置为singleton,还有就是不可变类应该设置为singleton。 ustbzhangwei(wei):“什么时候设置singleton=false什么时候设置singleton=true,需要结合实际情况分析 一般,对于immutable class也就是不变类,应该设置为singleton=true,即缺省值 对于mutable class没有绝对的原则,需要结合实际情况分析”2这个你不用费心,对Spring来说,如果是singleton,那么,就每次get都返回同一个Bean,如果不是,每次get就返回一个新创建的Bean。 对jsf来说,它会根据bean的作用域来判断什么时候去调用Spring的get方法。 对于mutable对象,我再补充一下自己的一点浅薄的见识,欢迎大家批评指正 为了方便描述,先假设对象a就是即将讨论的mutable对象假设引用对象a的对象是b,c,d,... 1)对象a在生命周期中,只被一个对象b引用,那么可以令singleton=true(当然,也可以=false, 但是=true表示更准确) 2)对象a在生命周期中,被多个对象b,c,d,...引用,如果程序期望b,c,d,...共享对象a(即在任意时刻b,c,d,...看到的对象a的状态都一致),那么令singleton=true 3)对象a在生命周期中,被多个对象b,c,d,...引用,如果程序期望b,c,d,...不共享对象a(即b对象修改了引用的a对象的状态,c对象所引用的a对象不能被修改,亦即b引用的a != c引用的a),那么令singleton=false

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐