ssm整合(整合配置)

深碍√TFBOYSˉ_ 2023-09-28 16:54 72阅读 0赞

e83599f64e0741dbb964add419c5d564.png

也就是说:先把spring、springmvc、mybatis的配置都整合在一起 (以前的笔记都做过,这次整合在一起即可)

步骤如下所示:

a5df6ab2160a4b799a326e1e6188d7b3.png

jdbcConfig:

  1. package com.itheima.config;
  2. import com.alibaba.druid.pool.DruidDataSource;
  3. import org.springframework.beans.factory.annotation.Value;
  4. import org.springframework.context.annotation.Bean;
  5. import javax.sql.DataSource;
  6. public class jdbcConfig {
  7. /**
  8. * 注解方式完成属性赋值
  9. *
  10. * 注意:这里注解的值是通过获取jdbc.properties文件中获取的,因此别忘记加@PropertySource("#")注解形式
  11. */
  12. @Value("${jdbc.driver}")
  13. private String driver;
  14. @Value("${jdbc.url}")
  15. private String url;
  16. @Value("${jdbc.username}")
  17. private String username;
  18. @Value("${jdbc.password}")
  19. private String password;
  20. /**
  21. * 定义一个方法:用来获取要管理的第三方bean/对象
  22. */
  23. @Bean
  24. public DataSource dataSource(){
  25. // 1、new 第三方bean/对象
  26. DruidDataSource dataSource =new DruidDataSource();
  27. // 2、给第三方bean/对象属性赋值
  28. dataSource.setDriverClassName(driver);
  29. dataSource.setUrl(url);
  30. dataSource.setUsername(username);
  31. dataSource.setPassword(password);
  32. // 3、把第三方bean/对象返回给该方法
  33. return dataSource;
  34. }
  35. }

MybatisConfig:

  1. package com.itheima.config;
  2. import org.mybatis.spring.SqlSessionFactoryBean;
  3. import org.mybatis.spring.mapper.MapperScannerConfigurer;
  4. import org.springframework.context.annotation.Bean;
  5. import javax.sql.DataSource;
  6. public class MybatisConfig {
  7. @Bean
  8. public SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource){ // 传参的目的就是处理引用型依赖关系拿到DataSource对象
  9. // 1、new SqlSessionFactoryBean 对象
  10. SqlSessionFactoryBean sqfb =new SqlSessionFactoryBean();
  11. // 2、整合mybatis的核心配置信息
  12. sqfb.setTypeAliasesPackage("com.itheima.domain");
  13. sqfb.setDataSource(dataSource); // 引用型依赖关系为mybatis核心配置文件设置jdbc连接信息
  14. return sqfb;
  15. }
  16. /*
  17. <mappers>
  18. <!-- 加载sql映射文件 -->
  19. <package name="com.itheima.dao"></package>
  20. </mappers>
  21. */
  22. /**
  23. * 该mapperScannerConfigurer方法new出来的MapperScannerConfigurer对象相当于整合mybatis的核心配置文件中的上面那些信息
  24. */
  25. @Bean
  26. public MapperScannerConfigurer mapperScannerConfigurer(){
  27. // 1、new MapperScannerConfigurer对象
  28. MapperScannerConfigurer mp =new MapperScannerConfigurer();
  29. // 2、加载sql映射文件
  30. mp.setBasePackage("com.itheima.dao");
  31. // 相当于mybatis中加载sql映射文件 UserMapper.xml,只不过这里是UserMapper代理接口直接用注的
  32. //形式
  33. // 写的sql语句,没有UserMapper.xml,所以这里直接加载到了dao包下的数据UserMapper,
  34. //只不过这里是BookDao
  35. return mp;
  36. }
  37. }

ServletContainersInitConfig:

  1. package com.itheima.config;
  2. import org.springframework.web.context.WebApplicationContext;
  3. import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
  4. import org.springframework.web.servlet.support.AbstractDispatcherServletInitializer;
  5. /**
  6. * 告诉tomcat服务器加载springmvc容器环境
  7. */
  8. public class ServletContainersInitConfig extends AbstractDispatcherServletInitializer {
  9. // 加载springmvc容器配置方法
  10. protected WebApplicationContext createServletApplicationContext() {
  11. AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
  12. ctx.register(SpringMvcConfig.class);
  13. return ctx;
  14. }
  15. // 设置把客户端的请求都归属于springmvc管理
  16. protected String[] getServletMappings() {
  17. return new String[]{"/"};
  18. }
  19. // 加载spring容器配置方法
  20. protected WebApplicationContext createRootApplicationContext() {
  21. AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
  22. ctx.register(SpringConfig.class);
  23. return ctx;
  24. }
  25. // 中文乱码问题
  26. // 过滤器
  27. // 这两个方法项目开发中用到了翻笔记即可
  28. }

SpringConfig:

  1. package com.itheima.config;
  2. import org.springframework.context.annotation.ComponentScan;
  3. import org.springframework.context.annotation.Configuration;
  4. import org.springframework.context.annotation.Import;
  5. import org.springframework.context.annotation.PropertySource;
  6. @Configuration // spring容器注解
  7. @ComponentScan({"com.itheima.service"})
  8. @PropertySource({"jdbc.properties"}) // 配置加载jdbc.properties文件 使用$符获取数据
  9. // @PropertySource({"classpath:jdbc.properties"}) // 用上面的注解形式报错的话就用这个注解代替上面的
  10. @Import({jdbcConfig.class,MybatisConfig.class})
  11. public class SpringConfig {
  12. }

SpringMvcConfig:

  1. package com.itheima.config;
  2. import org.springframework.context.annotation.ComponentScan;
  3. import org.springframework.context.annotation.Configuration;
  4. import org.springframework.web.servlet.config.annotation.EnableWebMvc;
  5. @Configuration
  6. @ComponentScan({"com.itheima.controller"}) // 扫描controller包下是否含有bean注解
  7. @EnableWebMvc // json数据格式注解
  8. public class SpringMvcConfig {
  9. }

jdbc.properties:

  1. jdbc.driver=com.mysql.jdbc.Driver
  2. jdbc.url=jdbc:mysql://localhost:3306/ssm_db?useSSL=false
  3. jdbc.username=root
  4. jdbc.password=123456

发表评论

表情:
评论列表 (有 0 条评论,72人围观)

还没有评论,来说两句吧...

相关阅读