职场小白新建SSM项目

项目参考文章:https://blog.csdn.net/super_DuoLa/article/details/107081136

文章目录

  • 什么是SSM?(摘自百度百科)
  • 一、新建web项目
  • 二、在lib中导入jar包。
  • 三、创建所需根目录。
  • 四、配置文件(spring-mvc.xml / spring-mybatis.xml / jdbc.properties / log4j.properties / web.xml)
    • 1.spring-mvc.xml
    • 2.spring-mybatis.xml
    • 3.jdbc.properties
    • 4.log4j.properties
    • 5.web.xml
  • 五、创建测试文件
    • 1.StudentsController.java
    • 2.StudentsDao.java
    • 3.Students.java
    • 4.StudentsService.java
    • 5.StudentsDao.xml
    • 6.Students.jsp
    • 7.测试结果
  • 六、数据库信息


什么是SSM?(摘自百度百科)

SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。
Spring
  Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。
  Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地new一个对象,而是让Spring框架帮你来完成这一切。
  SpringMVC
  SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。
  mybatis
  mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。
职场小白新建SSM项目_第1张图片

一、新建web项目

打开Myeclipse,依次点击File—New—Project,选择Dynamic Web Project,点击Next,填入项目名字,点击Finish,创建完成。
职场小白新建SSM项目_第2张图片职场小白新建SSM项目_第3张图片

二、在lib中导入jar包。

职场小白新建SSM项目_第4张图片

三、创建所需根目录。

职场小白新建SSM项目_第5张图片
首先选中src,点击鼠标右键New—Folder,出现下图,填入需要创建的目录名,例如这里:main/java,点击Finish。同样的方法创建main/resources。

职场小白新建SSM项目_第6张图片
然后选中src,点击鼠标右键,出现下图,选择Build Path—Configure Build Path…,出现右图,点击Add Folder…
职场小白新建SSM项目_第7张图片
在src目录中选中java,点击OK,同样的方法,选中resources。
职场小白新建SSM项目_第8张图片
接着Remove画红框(testDemo/src)内容,点击OK,根目录创建完毕!
职场小白新建SSM项目_第9张图片

四、配置文件(spring-mvc.xml / spring-mybatis.xml / jdbc.properties / log4j.properties / web.xml)

职场小白新建SSM项目_第10张图片

1.spring-mvc.xml

  
<beans xmlns="http://www.springframework.org/schema/beans"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"  
    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-3.1.xsd    
                        http://www.springframework.org/schema/context    
                        http://www.springframework.org/schema/context/spring-context-3.1.xsd    
                        http://www.springframework.org/schema/mvc    
                        http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">  
    
	   
 
    
	<context:component-scan base-package="gy.*" use-default-filters="false">
		
		<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
	context:component-scan>
    
    
	<mvc:annotation-driven />
     

 
    
    <mvc:resources mapping="/resources/**" location="/resources"/>
    
      
    <bean id="mappingJacksonHttpMessageConverter"  
        class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">  
        <property name="supportedMediaTypes">  
            <list>  
                <value>text/html;charset=UTF-8value>  
            list>  
        property>  
    bean>  
    
    
      
    <bean id="multipartResolver"    
        class="org.springframework.web.multipart.commons.CommonsMultipartResolver">    
          
        <property name="defaultEncoding" value="utf-8" />    
          
        <property name="maxUploadSize" value="10485760000" />    
          
        <property name="maxInMemorySize" value="40960" />    
        
        <property name="resolveLazily" value="true"/>
    bean>   
    
    
    <bean id="contentNegotiationManager" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">
	    <property name="mediaTypes" >
	        <map> 
                 
                <entry key="json" value="application/json" />
                <entry key="xml" value="application/xml" />
                <entry key="htm" value="text/htm" />
            map>
	    property>
	    
        <property name="ignoreAcceptHeader" value="true"/>
        
        <property name="favorPathExtension" value="true"/>
	bean>
	
     
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
        <property name="prefix" value="/WEB-INF/jsp/" />  
        <property name="suffix" value=".jsp" />  
    bean>  
beans>

2.spring-mybatis.xml

  
<beans xmlns="http://www.springframework.org/schema/beans"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"  
    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-3.1.xsd    
                        http://www.springframework.org/schema/context    
                        http://www.springframework.org/schema/context/spring-context-3.1.xsd    
                        http://www.springframework.org/schema/mvc    
                        http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">  
      
    <context:component-scan base-package="gy.*" />  
    
      
    <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="${driver}" />  
        <property name="url" value="${url}" />  
        <property name="username" value="${username}" />  
        <property name="password" value="${password}" />  
          
        <property name="initialSize" value="${initialSize}">property>  
          
        <property name="maxActive" value="${maxActive}">property>  
          
        <property name="maxIdle" value="${maxIdle}">property>  
          
        <property name="minIdle" value="${minIdle}">property>  
          
        <property name="maxWait" value="${maxWait}">property>  
    bean>  
  
      
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
        <property name="dataSource" ref="dataSource" />  
          
        <property name="mapperLocations" value="classpath:/mappings/**/*.xml">property>  
    bean>  
  
      
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">  
        <property name="basePackage" value="gy" />  
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory">property>  
    bean>  
  
      
    <bean id="transactionManager"  
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
        <property name="dataSource" ref="dataSource" />  
    bean>  
  
beans>

3.jdbc.properties

driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@ip:1521:实例名
username=实例账号
password=实例密码
#\u5B9A\u4E49\u521D\u59CB\u8FDE\u63A5\u6570  
initialSize=0  
#\u5B9A\u4E49\u6700\u5927\u8FDE\u63A5\u6570  
maxActive=20  
#\u5B9A\u4E49\u6700\u5927\u7A7A\u95F2  
maxIdle=20  
#\u5B9A\u4E49\u6700\u5C0F\u7A7A\u95F2  
minIdle=1  
#\u5B9A\u4E49\u6700\u957F\u7B49\u5F85\u65F6\u95F4  
maxWait=60000

4.log4j.properties

log4j.rootLogger=INFO,Console,File  
#\u5B9A\u4E49\u65E5\u5FD7\u8F93\u51FA\u76EE\u7684\u5730\u4E3A\u63A7\u5236\u53F0  
log4j.appender.Console=org.apache.log4j.ConsoleAppender  
log4j.appender.Console.Target=System.out  
#\u53EF\u4EE5\u7075\u6D3B\u5730\u6307\u5B9A\u65E5\u5FD7\u8F93\u51FA\u683C\u5F0F\uFF0C\u4E0B\u9762\u4E00\u884C\u662F\u6307\u5B9A\u5177\u4F53\u7684\u683C\u5F0F  
log4j.appender.Console.layout = org.apache.log4j.PatternLayout  
log4j.appender.Console.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c]-[%p] %m%n
#\u6587\u4EF6\u5927\u5C0F\u5230\u8FBE\u6307\u5B9A\u5C3A\u5BF8\u7684\u65F6\u5019\u4EA7\u751F\u4E00\u4E2A\u65B0\u7684\u6587\u4EF6  
log4j.appender.File = org.apache.log4j.RollingFileAppender  
#\u6307\u5B9A\u8F93\u51FA\u76EE\u5F55  
log4j.appender.File.File = logs/ssm.log  
#\u5B9A\u4E49\u6587\u4EF6\u6700\u5927\u5927\u5C0F  
log4j.appender.File.MaxFileSize = 10MB  
# \u8F93\u51FA\u6240\u4EE5\u65E5\u5FD7\uFF0C\u5982\u679C\u6362\u6210DEBUG\u8868\u793A\u8F93\u51FADEBUG\u4EE5\u4E0A\u7EA7\u522B\u65E5\u5FD7  
log4j.appender.File.Threshold = ALL  
log4j.appender.File.layout = org.apache.log4j.PatternLayout  
log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n

5.web.xml

  
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xmlns="http://java.sun.com/xml/ns/javaee"  
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"  
    version="3.0"> 
     
      
     <context-param>  
        <param-name>contextConfigLocationparam-name>  
        <param-value>classpath:spring-mybatis.xmlparam-value>  
     context-param>   
 
	   
     <listener>  
        <listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>  
    listener>   
      
     <listener>  
        <listener-class>org.springframework.web.util.IntrospectorCleanupListenerlistener-class>  
    listener>   
  
 
      
    <filter>  
        <filter-name>encodingFilterfilter-name>  
        <filter-class>org.springframework.web.filter.CharacterEncodingFilterfilter-class>  
        <async-supported>trueasync-supported>  
        <init-param>  
            <param-name>encodingparam-name>  
            <param-value>UTF-8param-value>  
        init-param>  
    filter>  
    <filter-mapping>  
        <filter-name>encodingFilterfilter-name>  
        <url-pattern>/*url-pattern>  
    filter-mapping>  
      
    <servlet>  
        <servlet-name>SpringMVCservlet-name>  
        <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>  
        <init-param>  
            <param-name>contextConfigLocationparam-name>  
            <param-value>classpath:spring-mvc.xmlparam-value>  
        init-param>  
        <load-on-startup>1load-on-startup>  
        <async-supported>trueasync-supported>  
    servlet>  
    <servlet-mapping>  
        <servlet-name>SpringMVCservlet-name>  
        <url-pattern>/url-pattern>  
    servlet-mapping>  
    
    <welcome-file-list>  
        <welcome-file>/index.jspwelcome-file>  
    welcome-file-list>  
  
web-app>

五、创建测试文件

职场小白新建SSM项目_第11张图片

1.StudentsController.java

职场小白新建SSM项目_第12张图片

2.StudentsDao.java

职场小白新建SSM项目_第13张图片

3.Students.java

职场小白新建SSM项目_第14张图片

4.StudentsService.java

职场小白新建SSM项目_第15张图片

5.StudentsDao.xml

职场小白新建SSM项目_第16张图片

6.Students.jsp

职场小白新建SSM项目_第17张图片

7.测试结果

职场小白新建SSM项目_第18张图片

六、数据库信息

职场小白新建SSM项目_第19张图片

testDemo项目下载

你可能感兴趣的:(Java,mybatis,spring,java,web.xml,mvc)