首页 > 其他分享 >搭建SSM框架(配置类形式)

搭建SSM框架(配置类形式)

时间:2024-12-27 20:55:32浏览次数:6  
标签:jdbc return 框架 class SSM dataSource new public 搭建

1、先导入需要用的jar包

<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>6.1.11</version>
</dependency>

<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.16</version>
</dependency>

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.33</version>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>6.1.11</version>
</dependency>

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.23</version>
</dependency>

<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.34</version>
</dependency>

<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>6.1.0</version>
</dependency>

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.17.2</version>
</dependency>

<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>6.0.0</version>
</dependency>

<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>3.0.3</version>
</dependency>

<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.27</version>
</dependency>
</dependencies>

2、创建配置类

2.1、我的配置类包名

2.2、AppConfig类

@Configuration
@ComponentScan("com.cxd")
@Import({SpringConfig.class, WebMvcConfig.class, MybatisConfig.class})
public class AppConfig {

}

2.3、MybatisConfig类

public class MybatisConfig {
    @Bean
    public SqlSessionFactoryBean sqlSessionFactoryBean(DataSource dataSource) {
        System.out.println("data:"+dataSource);
        SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
        factoryBean.setDataSource(dataSource);
        //mybatis配置文件
        Configuration configuration=new Configuration();
        configuration.setLogImpl(StdOutImpl.class);
        configuration.setMapUnderscoreToCamelCase(true);
        factoryBean.setConfiguration(configuration);
        factoryBean.setPlugins(new PageInterceptor());
        return factoryBean;
    }

    @Bean
    public MapperScannerConfigurer mapperScannerConfigurer(){
        MapperScannerConfigurer mapperScannerConfigurer=new MapperScannerConfigurer();
        mapperScannerConfigurer.setBasePackage("com.cxd.mapper");
        return mapperScannerConfigurer;
    }
}

2.4、MyWebApplicationInit类

public class MyWebApplicationInit implements WebApplicationInitializer {
    @Override
    public void onStartup(ServletContext servletContext) throws ServletException {
        //关联AppConfig配置类
        AnnotationConfigWebApplicationContext context =
        new AnnotationConfigWebApplicationContext();
        context.register(AppConfig.class);
        //前端控制器
        DispatcherServlet dispatcherServlet = new DispatcherServlet(context);
        //添加前端控制器到web容器
        ServletRegistration.Dynamic dynamic =
        servletContext.addServlet("spring-servlet", dispatcherServlet);
        //设置该servlet启动时机 (web容器启动时,实列化servlet)
        dynamic.setLoadOnStartup(1);
        //设置servlet的匹配路径
        dynamic.addMapping("/");

        //添加编码过滤器
        servletContext.addFilter("encodingFilter", new CharacterEncodingFilter("UTF-8"));

        MultipartConfigElement configElement =
        new MultipartConfigElement("", 1024 * 1024, 1024 * 1024, 0);
        dynamic.setMultipartConfig(configElement);

    }
}

2.5、SpringConfig类

@PropertySource(value = "classpath:mysql.properties")
@EnableTransactionManagement
public class SpringConfig {

    @Value("${jdbc.driver}")
    private String driver;
    @Value("${jdbc.url}")
    private String url;
    @Value("${jdbc.username}")
    private String username;
    @Value("${jdbc.password}")
    private String password;

    @Bean
    public DataSource dataSource() {
        System.out.println("driver"+driver);
        DriverManagerDataSource dataSource =
        new DriverManagerDataSource();
        dataSource.setDriverClassName(driver);
        dataSource.setUrl(url);
        dataSource.setUsername(username);
        dataSource.setPassword(password);
        return dataSource;
    }

    @Bean
    public TransactionManager transactionManager(DataSource dataSource) {
        DataSourceTransactionManager transactionManager = new DataSourceTransactionManager();
        transactionManager.setDataSource(dataSource);
        return transactionManager;
    }
}

2.6、WebMvcConfig类

@EnableWebMvc
public class WebMvcConfig implements WebMvcConfigurer {

    @Override
    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
        configurer.enable();
    }

    //拦截器
    public void addInterceptors(InterceptorRegistry registry) {
        //        registry.addInterceptor(new LoginInterceptor())
        //                .addPathPatterns("/**")
        //                .excludePathPatterns("/","/user/login","/user/getCode");
    }


    //        文件解析器
    @Bean
    public MultipartResolver multipartResolver() {
        StandardServletMultipartResolver multipartResolver =
        new StandardServletMultipartResolver();
        return multipartResolver;
    }


    //视图控制,默认首页
    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/").setViewName("login");

    }

    @Bean
    public ViewResolver viewResolver() {
        InternalResourceViewResolver viewResolver =
        new InternalResourceViewResolver();
        viewResolver.setPrefix("/WEB-INF/page/");
        viewResolver.setSuffix(".jsp");
        return viewResolver;
    }
}

3、mysql.properties文件

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/xxx
jdbc.username=xxx
jdbc.password=xxx

标签:jdbc,return,框架,class,SSM,dataSource,new,public,搭建
From: https://blog.csdn.net/or77iu_N/article/details/143733174

相关文章

  • ssm体检中心管理系统vahdr(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、项目背景随着人们生活水平的提高和健康意识的增强,体检已成为现代人关注健康的重要方式。然而,传统的体检中心管理方式存在诸多不足,如流程繁琐、......
  • ssm实验室设备管理系统sg01u(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、项目背景与意义随着科技的不断进步,实验室在科研、教学等领域的作用日益凸显。然而,传统的实验室设备管理方式存在诸多不足,如设备信息记录不完整......
  • flask框架楼盘销售系统毕设源码+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于楼盘销售系统的研究,现有研究主要集中在房地产营销模式、销售策略等方面2,专门针对楼盘销售系统的设计与开发的研究较少。在国内外......
  • flask框架考研辅导资料交易系统毕设源码+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景随着考研人数的逐年增加,考研辅导资料的需求也日益增长 3。关于考研辅导资料交易的研究,现有研究主要以资料内容本身为主,专门针对考研......
  • 痞子衡嵌入式:MCUXpresso for VS Code开发环境搭建及SDK工程导入
    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是MCUXpressoforVSCode开发环境搭建及SDK工程导入。MCUXpressoIDE(包括其前身LPCXpressoIDE、KinetisDesignStudio)是恩智浦软件团队持续开发了十多年的免费集成开发环境,现在功能已经相当完善,IDE里面......
  • flask框架农业科技平台毕设源码+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于农业科技平台的研究,现有研究主要以农业科技的某一单独领域为主,如农业病虫害防治1、作物落花落果的原因2或者土壤结构变化机制3等,......
  • flask框架手机端的新生报道系统毕设源码+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于新生报到管理系统的研究,现有研究主要以提升报到效率和准确性为主,专门针对手机端新生报到系统且结合智能化操作以及学生个性化需求......
  • flask框架连锁民宿平台系统毕设源码+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景随着旅游业的蓬勃发展,民宿作为一种独特的住宿形式受到越来越多游客的喜爱。关于民宿相关平台系统的研究,现有研究主要以大型连锁酒店预......
  • flask框架开放式实验室设备预约系统设计与实现毕设源码+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于实验室设备预约系统的研究,现有研究主要集中在一些特定行业或大型企业的设备管理方面,对于开放式实验室设备预约系统专门的研究较少......
  • 搭建一个基于卷积的图像分类的模型
    搭建一个基于卷积的图像分类的模型:注册funHPC的平面,并且完成学生身份认证:网址:https://funhpc.com/#/user/regist?Code=ZnVuLWhwYxvB1gAbnWDFC2hhARSd-3CwCTnB0iN-qp9szH41X0TW使用在读会员区的免费算力:打开线上编程平台(最大限度降低配置环境的压力):导入模型代码(利用c......