idea配置SSM
SSM基本流程
tomcat配置
mysql配置
maven配置
intellij idea配置
一. 新建工程
1.选择maven中的模板创建, 一般选择maven-archetype-webapp
选择maven中的模板创建2.这一步随便起个名就行
选择maven中的模板创建3.这一步是配置maven设置, 添加的字段是阻止每次maven的自更新
选择maven中的模板创建4.起项目名, 然后就等待maven的构建项目过程, 第一次的话会稍微久一点, 之后就会比较快了.
选择maven中的模板创建二. 建包
1.上面的步骤完成之后会是下面这样.
选择maven中的模板创建3. 之后就在java文件夹下建包,建包之后会是这样
1. 在resource文件夹中创建一个spring配置文件.2. 名字其实随意
3. 创建完成之后右下角会出现选项, 点击configure
就是扫描包, 包中所有的类都使用注解
<context:component-scan base-package="com.lzhr"/>
是自动扫描包及子包中的组件, 这样就不需要配置<bean>
标签, 直接使用注解就可以了.
-mybatis配置
1.创建jdbc.properties配置文件
在resource文件夹中创建空白File, 后缀为jdbc.properties, 内容如下:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/stu?useSSL=true
username=root
password=lzhr
#定义初始连接数
initialSize=0
#定义最大空闲
maxIdle=20
#定义最小空闲
minIdle=1
如图:
创建properties文件创建properties文件
创建generator.xml文件
需要填的内容如下:
classPathEntry
: 驱动包路径
jdbcConnection
: 数据配置
javaModelGenerator
: 表对象的模型设置
sqlMapGenerator
: mapper的xml文件设置
javaClientGenerator
: mapper的接口文件设置
table
: 表设置(可以设置多个表)
具体配置如下:
<generatorConfiguration>
<!-- !!!! Driver Class Path !!!! -->
<!-- !!!! 设置MySQL驱动路径 !!!! -->
<classPathEntry location="/Users/lizhongren1/maven/LocalWarehouse
/mysql/mysql-connector-java/5.1.40/mysql-connector-java-5.1.40.jar"/>
<context id="context" targetRuntime="MyBatis3">
<!-- !!!! 是否生成注释, 一般都是false, 自动生成的注释完全不能看, 还耽误git同步 !!!! -->
<commentGenerator>
<property name="suppressAllComments" value="false"/>
<property name="suppressDate" value="false"/>
</commentGenerator>
<!-- !!!! Database Configurations !!!! -->
<!-- !!!! 配置数据库数据 !!!! -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/stu?useSSL=true"
userId="root" password="lzhr"/>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- !!!! Model Configurations !!!! -->
<!-- !!!! 设置生成的JavaBean所在的包 !!!! -->
<javaModelGenerator targetPackage="com.lzhr.domain"
targetProject="./src/main/java">
<property name="enableSubPackages" value="false"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- !!!! Mapper XML Configurations !!!! -->
<!-- !!!! 配置Mapper的XML配置文件位置, 也可以设置到resource文件夹 !!!! -->
<sqlMapGenerator targetPackage="com.lzhr.mapper" targetProject="./src/main/java">
<property name="enableSubPackages" value="false"/>
</sqlMapGenerator>
<!-- !!!! Mapper Interface Configurations !!!! -->
<!-- !!!! 配置Mapper接口文件位置 !!!! -->
<javaClientGenerator targetPackage="com.lzhr.mapper"
targetProject="./src/main/java"
type="XMLMAPPER">
<property name="enableSubPackages" value="false"/>
</javaClientGenerator>
<!-- !!!! Table Configurations !!!! -->
<!-- !!!! 配置MySQL下的表设置 !!!! -->
<table tableName="student"
enableCountByExample="false"
enableDeleteByExample="false"
enableSelectByExample="false"
enableUpdateByExample="false"/>
</context>
</generatorConfiguration>
- 创建执行类文件.
public class MybatisTest {
public void generator() throws Exception{
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
//指定 逆向工程配置文件
File configFile = new File("src/main/resources/generatorConfig.xml");
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,
callback, warnings);
myBatisGenerator.generate(null);
}
public static void main(String[] args) throws Exception {
try {
MybatisTest generatorSqlmap = new MybatisTest();
generatorSqlmap.generator();
} catch (Exception e) {
e.printStackTrace();
}
}
}
-
执行main方法, 结构如下图
因为在generator中的配置不同,Mapper相关文件位置有所不同-springMVC配置
- 创建xxx-servlet.xml调度文件
- 配置web.xml
- 创建controller类
- 创建jsp文件
- 部署配置
1.创建xxx-servlet.xml文件
同样在resources文件夹中创建, 命名规范一般是xxx-servlet.xml.
说明:
mvc:annotation-driven
: 注解驱动
<context:component-scan base-package="com.lzhr"/>
: 自动扫描组件包
mvc:default-servlet-handler
: 处理servlet资源, servlet在找不到页面的时候会去找静态的内容。
jspViewResolver
: 视图解析器基本配置, 例如下面的例子就是识别:/WEB-INF/pages/*.jsp基本配置如下:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <mvc:annotation-driven/> <context:component-scan base-package="com.lzhr"/> <mvc:default-servlet-handler/> <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value="/WEB-INF/pages/"/> <property name="suffix" value=".jsp"/> </bean> </beans>
2. 配置web.xml
找到在WEB-INF文件夹下的web.xml. 这里本来应该配置各种servlet. 有了springmvc可以取代一大堆重复的配置标签.
- 更新web-app.
- 配置context-param: 这里主要配置spring的xml配置文件的地址:
- 配置监听器: 这里很重要, 不然会匹配不到mapper等接口文件,导致spring的注入失败.
- 配置servlet和servlet-mapping: 配置的结果就是把所有的servlet都交给springmvc来处理.
- 配置filter: 可以解决乱码问题.
详细配置如下:
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <display-name>Archetype Created Web Application</display-name> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet> <servlet-name>AServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:SSM-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>AServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <filter> <filter-name>SpringEncoding</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>SpringEncoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
3. 创建Controller类
在controller包中创建controller类, 负责处理servlet.
代码如下, 含义是处理"/"的URL, 显示index.jsp页面:@Controller public class MainController { @RequestMapping(value = "/", method = RequestMethod.GET) public String frontPage(){ return "index"; } }
4. 在WEB-INF文件夹中创建jsp文件
可以自己定义目录归纳整理jsp
-一些坑
1.tomcat包
2.
-常见错误和解决