阿里云个人网站建设,威海建设集团网站,网站对应的ip,卖网站怎样做目录 1 流程分析2 整合配置2.1 步骤1#xff1a;创建Maven的web项目2.2 步骤2:添加依赖2.3 步骤3:创建项目包结构2.4 步骤4:创建SpringConfig配置类2.5 步骤5:创建JdbcConfig配置类2.6 步骤6:创建MybatisConfig配置类2.7 步骤7:创建jdbc.properties2.8 步骤8:创建SpringMVC配置… 目录 1 流程分析2 整合配置2.1 步骤1创建Maven的web项目2.2 步骤2:添加依赖2.3 步骤3:创建项目包结构2.4 步骤4:创建SpringConfig配置类2.5 步骤5:创建JdbcConfig配置类2.6 步骤6:创建MybatisConfig配置类2.7 步骤7:创建jdbc.properties2.8 步骤8:创建SpringMVC配置类2.9 步骤9:创建Web项目入口配置类 欢迎大家回到《Java教程之Spring30天快速入门》本教程所有示例均基于Maven实现如果您对Maven还很陌生请移步本人的博文《如何在windows11下安装Maven并配置以及 IDEA配置Maven环境》本文的上一篇为《Rest风格简介与RESTful入门》
前面我们已经把Mybatis、Spring和SpringMVC三个框架进行了学习今天主要的内容就是把这三个框架整合在一起完成我们的业务功能开发具体如何来整合我们一步步来学习。
1 流程分析
(1) 创建工程
创建一个Maven的web工程pom.xml添加SSM需要的依赖jar包编写Web项目的入口配置类实现AbstractAnnotationConfigDispatcherServletInitializer重写以下方法 getRootConfigClasses() 返回Spring的配置类-需要SpringConfig配置类getServletConfigClasses() 返回SpringMVC的配置类-需要SpringMvcConfig配置类getServletMappings() : 设置SpringMVC请求拦截路径规则getServletFilters() 设置过滤器解决POST请求中文乱码问题 (2)SSM整合[重点是各个配置的编写] SpringConfig 标识该类为配置类 Configuration扫描Service所在的包 ComponentScan在Service层要管理事务 EnableTransactionManagement读取外部的properties配置文件 PropertySource整合Mybatis需要引入Mybatis相关配置类 Import 第三方数据源配置类 JdbcConfig 构建DataSource数据源DruidDataSouroce,需要注入数据库连接四要素Bean Value构建平台事务管理器DataSourceTransactionManager,Bean Mybatis配置类 MybatisConfig 构建SqlSessionFactoryBean并设置别名扫描与数据源Bean构建MapperScannerConfigurer并设置DAO层的包扫描 SpringMvcConfig 标识该类为配置类 Configuration扫描Controller所在的包 ComponentScan开启SpringMVC注解支持 EnableWebMvc (3)功能模块[与具体的业务模块有关] 创建数据库表根据数据库表创建对应的模型类通过Dao层完成数据库表的增删改查(接口自动代理)编写Service层[Service接口实现类] ServiceTransactional整合Junit对业务层进行单元测试 RunWithContextConfigurationTest 编写Controller层 接收请求 RequestMapping GetMapping PostMapping PutMapping DeleteMapping接收数据 简单、POJO、嵌套POJO、集合、数组、JSON数据类型 RequestParamPathVariableRequestBody 转发业务层 Autowired 响应结果 ResponseBody
2 整合配置
掌握上述的知识点后接下来我们就可以按照上述的步骤一步步的来完成SSM的整合。
2.1 步骤1创建Maven的web项目
可以使用Maven的骨架创建
2.2 步骤2:添加依赖
pom.xml添加SSM所需要的依赖jar包
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0
xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.itheima/groupIdartifactIdspringmvc_08_ssm/artifactIdversion1.0-SNAPSHOT/versionpackagingwar/packagingdependenciesdependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion5.2.10.RELEASE/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-jdbc/artifactIdversion5.2.10.RELEASE/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-test/artifactIdversion5.2.10.RELEASE/version/dependencydependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.5.6/version/dependencydependencygroupIdorg.mybatis/groupIdartifactIdmybatis-spring/artifactIdversion1.3.0/version/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.47/version/dependencydependencygroupIdcom.alibaba/groupIdartifactIddruid/artifactIdversion1.1.16/version/dependencydependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/versionscopetest/scope/dependencydependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion3.1.0/versionscopeprovided/scope/dependencydependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactIdversion2.9.0/version/dependency/dependenciesbuildpluginsplugingroupIdorg.apache.tomcat.maven/groupIdartifactIdtomcat7-maven-plugin/artifactIdversion2.1/versionconfigurationport80/portpath//path/configuration/plugin/plugins/build
/project2.3 步骤3:创建项目包结构 config目录存放的是相关的配置类controller编写的是Controller类dao存放的是Dao接口因为使用的是Mapper接口代理方式所以没有实现类包service存的是Service接口impl存放的是Service实现类resources:存入的是配置文件如Jdbc.propertieswebapp:目录可以存放静态资源test/java:存放的是测试类
2.4 步骤4:创建SpringConfig配置类
Configuration
ComponentScan({com.itheima.service})
PropertySource(classpath:jdbc.properties)
Import({JdbcConfig.class,MyBatisConfig.class})
EnableTransactionManagement
public class SpringConfig {
}2.5 步骤5:创建JdbcConfig配置类
public class JdbcConfig {Value(${jdbc.driver})private String driver;Value(${jdbc.url})private String url;Value(${jdbc.username})private String username;Value(${jdbc.password})private String password;Beanpublic DataSource dataSource(){DruidDataSource dataSource new DruidDataSource();dataSource.setDriverClassName(driver);dataSource.setUrl(url);dataSource.setUsername(username);dataSource.setPassword(password);return dataSource;}Beanpublic PlatformTransactionManager transactionManager(DataSourcedataSource){DataSourceTransactionManager ds new DataSourceTransactionManager();ds.setDataSource(dataSource);return ds;}
}2.6 步骤6:创建MybatisConfig配置类
public class MyBatisConfig {Beanpublic SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource){SqlSessionFactoryBean factoryBean new SqlSessionFactoryBean();factoryBean.setDataSource(dataSource);factoryBean.setTypeAliasesPackage(com.itheima.domain);return factoryBean;}Beanpublic MapperScannerConfigurer mapperScannerConfigurer(){MapperScannerConfigurer msc new MapperScannerConfigurer();msc.setBasePackage(com.itheima.dao);return msc;}
}2.7 步骤7:创建jdbc.properties
在resources下提供jdbc.properties,设置数据库连接四要素
jdbc.drivercom.mysql.jdbc.Driver
jdbc.urljdbc:mysql://localhost:3306/database_name
jdbc.usernameroot
jdbc.passwordroot2.8 步骤8:创建SpringMVC配置类
Configuration
ComponentScan(com.itheima.controller)
EnableWebMvc
public class SpringMvcConfig {
}2.9 步骤9:创建Web项目入口配置类
public class ServletConfig extends
AbstractAnnotationConfigDispatcherServletInitializer {//加载Spring配置类protected Class?[] getRootConfigClasses() {return new Class[]{SpringConfig.class};}//加载SpringMVC配置类protected Class?[] getServletConfigClasses() {return new Class[]{SpringMvcConfig.class};}//设置SpringMVC请求地址拦截规则protected String[] getServletMappings() {return new String[]{/};}//设置post请求中文乱码过滤器Overrideprotected Filter[] getServletFilters() {CharacterEncodingFilter filter new CharacterEncodingFilter();filter.setEncoding(utf-8);return new Filter[]{filter};}
}至此SSM整合的环境就已经搭建好了。在这个环境上我们如何进行功能模块的开发呢?我们下一节开始学习如何进行功能模块开发