赞
踩
SSM
: 主流的构建javaweb项目的mvc架构,组成为 springmvc
+spring
+mybatis
。springmvc
:主要负责处理Tomcat
接受到的http请求,并将处理完成的结果写入响应体中返回给客户端浏览器。spring
: 负责管理bean
对象,实现业务功能代码的解耦合。通过ioc
依赖注入的方式动态获取通过spring容器管理的java对象。通过Aspectj
实现Aop
功能,达到业务功能代码的解耦合。mybatis
:orm
模型的数据库连接框架,主要用于javaweb项目dao
层的实现。maven
:主流的项目管理工具,用于管理项目依赖和项目构建,与其功能相近的有gradle
、cmake
、ant
、nant
。idea
:最好用的java开发编译器。
2. 先新建一个空工程用于管理项目模块
3. 填写项目信息
4. 进入空工程,创建项目模块
5. 新建maven模块
6. 新模块属性配置
7. 选择maven工具的配置文件和本地仓库位置,后面会有maven的settins.xml获取和配置介绍
8、之后点击确定,等待项目初始化,如果初始化太慢可以往下看,下面会介绍项目中的属性文件配置和maven的settings.xml文件配置。初始化完成后创建项目包体和配置文件,完善后的项目结构如下:
1)包结构介绍
包名 | 作用 |
---|---|
dao | 数据库操作声明的java接口所属包 |
entity | 与数据库表对应的java类所属包,用于service和dao层参数传递,接收mybatis查询后的结果集 |
service | 业务逻辑处理的java类所属包 |
web.controller | http请求接收和响应的java文件所属包 |
web.filter | 先于controller拿到http请求,做特定处理之后传给controller的java类所属包 |
2)配置文件介绍
文件名 | 作用 |
---|---|
pom.xml | maven构建项目配置文件 |
web.xml | web应用配置文件 |
applicationContext.xml | spring和mybatis整合配置文件 |
mybatis.xml | mybatis配置文件 |
springMVC.xml | springmvc配置文件 |
jdbc.properties | 数据库连接池配置文件 |
maven文件settings.xml文件获取与配置(这个操作只需要操作一次,以后新建项目都不需要)
1) 获取settings.xml文件
找到maven安装目录下的
conf
文件夹,在该文件夹中可以看到settings.xml
文件。
2)配置settings.xml并且指定本地仓库
拷贝一份
settings.xml
放到自己自定义的文件夹中,比如我新建了maven文件夹来存放maven配置文件,并在同级目录下新建文件夹repository
用作本地仓库。
打开settings.xml
文件,在<mirrors>
标签节点下添加下面配置,设置阿里云镜像。因为正常情况下maven远程仓库是国外的下载依赖包太慢,所以使用阿里云的镜像仓库。<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror>
- 1
- 2
- 3
- 4
- 5
- 6
在
settings.xml
文件中搜索localRepository
标签,该标签是被注释的,复制一份添加到下面,其中的标签内容修改成自己的本地仓库路径,仓库路径就是前面创建的repository
文件夹,例如我的是E:\maven\repository
。本地仓库是用来存放从远程仓库下载的项目工程依赖包,以后构建项目都会优先从本地仓库获取依赖包,如果本地仓库没有获取到才会去远程仓库下载。<localRepository>E:\maven\repository</localRepository>
- 1
maven项目构建配置文件pom.xml的配置(后面的配置文件每次新建项目时都需要根据项目需求配置)
1)整理pom.xml
文件,整理后如下
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>SSMModule</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> <properties> </properties> <dependencies> </dependencies> <build> </build> </project>
2)build
标签配置
<build> <resources> <!--maven构建项目时默认不会移动src/main/java下的文件,需要手动指定需要移动的配置文件--> <resource> <directory>src/main/java</directory><!--所在的目录--> <includes><!--包括目录下的.properties,.xml文件都会扫描到--> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> </resources> <plugins> <!--该插件用于指定maven构建项目时使用的编译器编译版本--> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build>
3)propertis
标签配置
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <!--统一管理依赖包版本--> <spring.version>4.2.5.RELEASE</spring.version> <jackson.version>2.5.0</jackson.version> <junit.version>4.12</junit.version> <servlet.version>4.0.1</servlet.version> <jsp.version>2.1.3-b06</jsp.version> <jstl.version>1.2</jstl.version> <mybatis.version>3.2.8</mybatis.version> <mysql.version>5.1.9</mysql.version> <druid.version>1.1.12</druid.version> <log4j.version>1.7.9</log4j.version> <mybatis-spring.version>1.2.2</mybatis-spring.version> <slf4j.version>1.7.18</slf4j.version> <log4j.version>1.2.17</log4j.version> <commons-pool.version>1.6</commons-pool.version> <commons-dbcp.version>1.2</commons-dbcp.version> </properties>
4)dependencies标签配置
<!--单元测试--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> </dependency> <!-- jackson依赖--> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>${jackson.version}</version> </dependency> <!-- springmvc依赖--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <!-- aspectj依赖--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>${spring.version}</version> </dependency> <!--spring和mybatis整合--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>${mybatis-spring.version}</version> </dependency> <!-- mybatis依赖--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>${mybatis.version}</version> </dependency> <!-- 注解式的事务提供支持 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${spring.version}</version> </dependency> <!-- 事务管理器 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency> <!-- mysql驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.version}</version> </dependency> <!-- druid连接池依赖--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>${druid.version}</version> </dependency> <!-- 日志依赖--> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${log4j.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>${slf4j.version}</version> </dependency>
web,xml文件配置
<?xml version="1.0" encoding="UTF-8"?> <!--webapp约束描述文件--> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <!-- 制定spring配置文件位置--> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:applicationContext.xml</param-value> </context-param> <!-- 注册servletContext监听器,用于创建唯一的spring容器管理对象--> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 字符编码过滤器--> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 配置springmvc中央调度器--> <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:springMVC.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> <async-supported>true</async-supported> </servlet> <servlet-mapping> <servlet-name>SpringMVC</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <!-- 设置项目启动页面--> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
applicationContext.xml文件配置
<?xml version="1.0" encoding="UTF-8"?> <!--spring约束描述文件--> <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:tx="http://www.springframework.org/schema/tx" 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/tx http://www.springframework.org/schema/tx/spring-tx.xsd"> <!--组件扫描器,用于扫描service所在包路径下的service对象,将其添加到spring容器中管理--> <context:component-scan base-package="com.ssm.demo.service"/> <!--读取mysql连接池的配置文件jdbc.properties--> <context:property-placeholder location="classpath:jdbc.properties"/> <!-- 阿里巴巴吧的druid数据库连接池性能比较好,一般使用druid连接池作为数据源--> <bean id="dataBase" class="com.alibaba.druid.pool.DruidDataSource"> <property name="driverClassName" value="${jdbc.driverClass}"/> <property name="url" value="${jdbc.url}"/> <property name="name" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </bean> <!--用于整合spring和mybatis--> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataBase"/> <!-- 配置Mybati的核心配置文件 --> <property name="configLocation" value="classpath:mybatis.xml" /> </bean> <!--用于扫描dao层对象,将dao层对象注入到spring容器中--> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.jing.dao"/> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property> </bean> <!--事务注解驱动开启--> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataBase"/> </bean> <tx:annotation-driven transaction-manager="transactionManager"/> </beans>
springMVC文件配置
<?xml version="1.0" encoding="UTF-8"?> <!--springmvc约束描述文件--> <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-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"> <!-- 组件扫描器,用于注入controller对象到spring容器中--> <context:component-scan base-package="com.ssm.demo.web.controller"/> <!-- 添加springmvc注解驱动,自动注册DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter--> <mvc:annotation-driven /> <!-- 设置视图解析器--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/" /> <property name="suffix" value=".jsp"/> </bean> <!-- springmvc没有处理静态资源的能力,所以将资源文件交给web服务器处理--> <mvc:default-servlet-handler /> </beans>
mybatis文件配置
<?xml version="1.0" encoding="UTF-8" ?> <!--mybatis 约束描述文件--> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <!-- 控制日志输出 --> <setting name="logImpl" value="STDOUT_LOGGING"/> </settings> <typeAliases> <!--默认别名为:javabean 的首字母小写的非限定类名来作为它的别名--> <package name="com.ssm.demo.entity" /> </typeAliases> <mappers> <!-- name 是映射文件所在的包名 --> <package name="com.ssm.demo.dao"/> </mappers> </configuration>
jdbc.properties文件配置
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/database?useUnicode=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=password
1.配置服务器
2. 启动运行项目
3. 查看结果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。