记录参与实战项目时遇到的问题
中文乱码
解决响应乱码,有两种方式
第一种
<!--解决Response中文乱码-->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
</list>
</property>
</bean>
这种方式要求,这段代码要放在mvc:annotation-driver之前,
这就遇到一些问题,比如在做spring validator数据校验时,要求mvc:annotation-driver在mvc.xml文件的顶部。这就产生了冲突,
第二种:
<mvc:annotation-driven >
<!-- 消息转换器 解决响应时中文乱码-->
<mvc:message-converters register-defaults="true">
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes" value="text/html;charset=UTF-8"/>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
spring validator数据校验
这个问题困扰了我很久,但其实是个很简单的问题,首先要拷jar包,拷jar包的话需要拷好几个,maven引入依赖只需要两个
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.0.0.Final</version>
</dependency>
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.el</artifactId>
<version>3.0.1-b08</version>
</dependency>
mvc.xml中加入一个bean,但其实可以不加,因为mvc:annotation-driver中已经包含了
<!--数据校验-->
<bean id = "validator" class = "org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"/>
但是我试了数次也没有成功,原因是使用数据校验时,mvc:annotation-driver要放在文件顶端,辛酸泪····
spring @Value标签的使用
@Value(“${}”)
可以读取数据,这种方式读取的是配置文件中的内容(.properties)
当然了,要将配置文件先读进来
import resource=“classpath:XX.xml” />
@Value("#{}")
这种方式是读取对象信息,前提是把该对象交给sping管理,就是bean