Spring系列框架系统复习(一)SpringMVC框架搭建(maven、druid、mybatis\hibernate)

1、新建一个maven项目

具体配置选项不懂参考百度,一搜一大堆,主要有以下几点注意

选择webapp模板

 

从上图可以看出goupId+ArtifactId=packageName(包结构)

2、选择自己想要的运行环境,这里使用的是1.8jdk.

  一般直接修改maven的setting.xml文件

 <profile>
      <id>jdk1.8</id>

      <activation>
        <jdk>1.8</jdk>
      </activation>
        <properties>   
            <maven.compiler.source>1.8</maven.compiler.source>    
            <maven.compiler.target>1.8</maven.compiler.target>    
            <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>   
        </properties>
    </profile>

这个配置的前提是你系统已经装好了jdk1.8的环境,并且设置好了路径。

或者是修改项目中的pom文件,加入

<build>  
    <plugins>  
        <plugin>  
            <groupId>org.apache.maven.plugins</groupId>  
            <artifactId>maven-compiler-plugin</artifactId>  
            <configuration>  
                <source>1.8</source>  
                <target>1.8</target>  
            </configuration>  
        </plugin>  
    </plugins>  
</build>

这种配置的话只对本项目生效,对其他项目不起作用。

好了配置完成,这样每次maven-update之后会根据配置文件为该项目选择jre环境。

咱们继续,添加相应的jar包

<properties>
    <spring.version>4.2.5.RELEASE</spring.version>
</properties>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aop</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-expression</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${spring.version}</version>
    </dependency>
    
    <!-- https://mvnrepository.com/artifact/commons-logging/commons-logging -->
    <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.2</version>
    </dependency>
    
  </dependencies>

 

3、添加Web.xml配置文件中关于SpringMVC的配置

<!--configure the setting of springmvcDispatcherServlet and configure the mapping-->
  <servlet>
      <servlet-name>springmvc</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:/spring-mvc.xml</param-value>
        </init-param>
        <!-- <load-on-startup>1</load-on-startup> -->
  </servlet>

  <servlet-mapping>
      <servlet-name>springmvc</servlet-name>
      <url-pattern>/</url-pattern>
<!-- 路径过滤 --> </servlet-mapping>
classpath:/spring-mvc.xml指明了springMVC配置文件的路径以及名称。以下是配置文件spring-mvc.xml内容:
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">                    

    <!-- scan the package and the sub package -->
    <context:component-scan base-package="demo"/>

    <!-- don't handle the static resource -->
    <mvc:default-servlet-handler />

    <!-- if you use annotation you must configure following setting -->
    <mvc:annotation-driven />
    
    <!-- configure the InternalResourceViewResolver -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" 
            id="internalResourceViewResolver">
        <!-- 前缀 -->
        <property name="prefix" value="/WEB-INF/view/" />
        <!-- 后缀 -->
        <property name="suffix" value=".jsp" />
    </bean>
</beans>
context:component如注释,自动扫描的包名多个地址用逗号隔开,在该范围内的注释将会被解析,映射也能找到相应的路径等。
annotation-driven默认的注解映射的支持 
prefix视图解释路径前缀,这里/默认是webapp的根路径,根据实际路径做相应配置
suffix视图解释类后缀,建议为空,在controller返回时加上类后缀即可,这样使用比较灵活

4、剩下的工作就是创建一个controller类做业务逻辑的处理了,在此不再多说。

至此根据自己的配置路径做访问,如http://localhost:8080/demo/test/hello.demo即可访问

/WEB-INF/view/index.jsp

 

5、好了咱们继续。上面已经搭建好了一个简单springMVC框架,现在咱们向里面加点东西,数据库集成,这里使用阿里的druid连接池插件。

 第一步:加入maven依赖

<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.1.10</version>
    </dependency>

第二步:新建一个db.properties文件

jdbc.driverClassName=com.mysql.jdbc.Driver
db.url=jdbc:mysql://127.0.0.1:3306/suoha?useSSL=false&serverTimezone=GMT%2B8
db.username=root
db.password=******
db.initialSize=0
db.maxActive=100
db.minIdle=0
db.connectionProperties=druid.stat.slowSqlMillis=2000

第三步:在spring启动时注入该配置文件(IOC)

如果对Springioc不太理解的可以参考此文,写的非常详细,值得借鉴:https://www.cnblogs.com/wuchanming/p/5426746.html

<bean id="dataSource" name="dataSource" class="com.alibaba.druid.pool.DruidDataSource"  
        init-method="init" destroy-method="close">  
        <!-- 数据库连接基础信息 -->  
        <property name="url" value="${db.url}" />  
        <property name="username" value="${db.username}" />  
        <property name="password" value="${db.password}" />  
  
        <!-- 初始化连接大小 -->  
        <property name="initialSize" value="${db.initialSize}" />  
        <!-- 连接池最大使用连接数量 -->  
        <property name="maxActive" value="${db.maxActive}" />  
        <!-- 连接池最小空闲 -->  
        <property name="minIdle" value="${db.minIdle}" />  
</bean>

第四步:使用autowired注入dataSource实例。注意使用该功能时必须在spring-mvc.xml中加入下面这句话:

<!-- if you use @autowired annotation you must configure following setting -->
<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor" />

@RequestMapping("/druid")
    public ModelAndView testDruid() throws SQLException {
        Connection conn = dataSource.getConnection();
        conn.setAutoCommit(false);
        PreparedStatement pstat = conn.prepareStatement("insert into user values(?, ?, ?, ?, ?, ?)",  Statement.RETURN_GENERATED_KEYS);
        pstat.setString(1, "testDruid");
        pstat.setString(2, "123123");
        pstat.setString(3, "1");
        pstat.setString(4, "1");
        pstat.setString(5, "2018-09-11");
        pstat.setString(6, "2018-09-11");
        pstat.executeUpdate();
        Statement stat = conn.createStatement();  
        ResultSet rs = stat.executeQuery("select * from user");  
        conn.commit();  
        ModelAndView modelAndView = new ModelAndView();
        while (rs.next()) {  
            modelAndView.getModelMap().put("username", rs.getString("username"));
            modelAndView.getModelMap().put("password", rs.getString("password"));
        }  
        
        return modelAndView;
    }

第五步:浏览器输入http://localhost:8080/demo/test/druid.demo,成功调用该请求并在数据库中插入一条user数据。

同时druid插件还有很多强大的功能:监控数据库访问性能(web监控页面)、数据库密码加密(passwordcallback)、SQL执行日志、扩展JDBC等。

6、hibernate/mybatis(jdbc)的整合

posted on 2018-09-03 21:14  小小郑并不小  阅读(258)  评论(0)    收藏  举报

导航