SpringMVC-Mabatis配置出现的注意问题

1:启动SpringMVC的注解功能,完成请求和注解POJO的映射

(1)Spring3.1前的注解
    <bean   
        class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping "/>  
     <bean  
        class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">  </bean>  

(2)Spring3.1开始的注解
    <bean   
        class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>  
    <bean  
        class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>  

<mvc:annotation-driven/>相当于注册了RequestMappingHandlerMapping和RequestMappingHandlerAdapter两个bean,配置一些messageconverter。即解决了@Controller注解的使用前提配置。


2:MappingJacksonHttpMessageConverter——JSON转换器,bean可以自动转换json

pom.xml需要配置
  <dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.9.4</version>
</dependency>
    
  <dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.9.4</version>
</dependency>


    <dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.9.4</version>
</dependency>


  <bean id="mappingJacksonHttpMessageConverter"  
        class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">  
        <property name="supportedMediaTypes">  
            <list>  
                <value>text/html;charset=UTF-8</value>  
            </list>  
        </property>  


    </bean>  

这里jackson-core版本是2以上的所以 
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter”
若果版本是1以下
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"



3:数据库连不上org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection

检查:jdbc.properties文件

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/weiyuan?characterEncoding=utf8
jdbc.username=root
jdbc.password=root
#定义初始连接数  
jdbc.initialSize=0
#定义最大连接数  
jdbc.maxActive=20
#定义最大空闲  
jdbc.maxIdle=20
#定义最小空闲  
jdbc.minIdle=1
#定义最长等待时间  
jdbc.maxWait=60000

注:每行后面不要留空格或空字符否则会报错


spring-mybatis.xml文件
<!--引入配置文件 -->  
    <bean id="propertyConfigurer"  
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
        <property name="location" value="classpath:jdbc.properties" />  
    </bean>  
    
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"  
        destroy-method="close">  
        <property name="driverClassName" value="${jdbc.driver}" />  
        <property name="url" value="${jdbc.url}" />  
        <property name="username" value="${jdbc.username}" />  
        <property name="password" value="${jdbc.password}" />
        <!--初始化连接大小 -->  
        <property name="initialSize" value="${jdbc.initialSize}"></property>  
        <!--连接池最大数量 -->  
        <property name="maxActive" value="${jdbc.maxActive}"></property>  
        <!--连接池最大空闲 -->  
        <property name="maxIdle" value="${jdbc.maxIdle}"></property>  
        <!--连接池最小空闲 -->  
        <property name="minIdle" value="${jdbc.minIdle}"></property>  
        <!--获取连接最大等待时间 -->  
        <property name="maxWait" value="${jdbc.maxWait}"></property>  
    </bean>  


4:@Autowired注解:Request processing failed; nested exception is java.lang.NullPointerException

缺少注解;我出现问题是缺少@Autowired注解
@Service("userService")  
public class TcUserServiceImpl implements com.qn.service.TcUserService {
@Autowired
private TcUserMapper tcUserMapper;
public int insertTcUser(TcUser record) {
        int retResult = tcUserMapper.insertSelective(record);
return retResult;
}
}





猜你喜欢

转载自blog.csdn.net/qq_24892029/article/details/79398348