JavaConfig-SSM步骤:
1.pom.xml文件中导入jar包
2.配置四个配置文件
WebConfig<==>web.xml
ApplicationContextConfig<==>applicationContext.xml (spring)
WebMvcConfig<==>webmvc-servlet.xml (spring MVC)
mybatis-config.xml<==>mybatis-config.xml (mybatis)
3.DB 链接数据库
4.生成pojo实体类
5.创建mapper接口层
6.创建service服务层
7.创建controller控制层
8.创建view视图页面层 webapp-->static(css)->view(jsp)...
配置文件详细信息:
一、WebConfig文件(web.xml)
1.实现WebApplicationInitializer接口,重写onStartup方法
2.方法中配置
1)配置DispatchServlet(SpringMVC启动类)
AnnotationConfigWebApplicationContext ac01 = new AnnotationConfigWebApplicationContext();
ac01.register(WebMvcConfig.class);
DispatcherServlet dispatcherServlet = new DispatchServlet(ac01);
ServletRegistration.Dynamic dynamic = servletContext.addServlet("springMvc",dispatcherServlet);
dynamic.setLoadOnStartup(1);
dynamic.addMapping("/");
2)配置ContextLoaderListener(spring启动类)
AnnotationConfigWebApplicationContext ac02 = new AnnotationConfigWebApplicationContext();
ac02.register(ApplicationContextConfig.class);
servletContext.addListener(new ContextLoaderListener(ac02));
3)配置CharacterEncodingFilter(POST方式中文乱码)
CharacterEncodingFilter encodingFilter = newCharacterEncodingFilter();
encodingFilter.setEncoding("UTF-8");
FilterRegistration.Dynamic dynamic = servletContext.addFilter("encoding",encodingFilter);
dynamic.addMappingForUrlPatterns(null,false,"/*");
二、ApplicationContextConfig文件(applicationContext.xml)
1.在类上添加注解
@Controller、
@ComponentScan(basePackages="org.bx.ssm.service")、 //扫描service包
@EnableTransactionManagement //开启事务管理
2.配置数据源Druid
@Bean
public DruidDataSource dataSource(){
DruidDataSource druidDataSource = new DruidDataSource(); //创建DruidDataSource数据源对象
druidDataSource.setDriverClassName("com.mysql.jdbc.Driver"); //配置驱动
druidDataSource.setUrl("jdbc:mysql:///his");
druidDataSource.setUsername("root");
druidDataSource.setPassword("root");
return druidDataSource;
}
3.配置SqlSessionFactoryBean
@Bean
public SqlSessionFactoryBean sqlSessionFactory(){
SqlSessionFactroyBean bean = new SqlSessionFactoryBean();
bean.setDataSource(dataSource()); //引用数据源
bean.setConfigLocation(new ClassPathResource("mybatis-config.xml"));
Resource[] resoutces = {new ClassPathResource(mapper/RoleMapper.xml)};
bean.setMapperLocations(resources);
return bean;
}
4.mapper扫描配置
@Bean
public MapperScannerConfigurer mapperScannerConfigurer(){
MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();
mapperScannerConfigurer.setBasePackage("org.bx.ssm.mapper");
return mapperScannerConfigurer;
}
5.配置事务管理
@Bean
public DataSourceTransactionManager transactionManager(){
DataSourceTransactionManager transactionManager = new DataSourceTransactionManager();
transactionManager.setDataSource(dataSource());
return transactionManager;
}
三、WebMvcConfig文件(webmvc-servlet.xml)
1.在类上添加注解
@Configuration、
@EnableWebMvc、
@ComponentScan(basePackages="org.bx.ssm.web") //扫描控制器
并继承WebMvcConfigurerAdapter类
2.配置viewResolver视图解析器
@Bean
public ViewResolver viewResolver(){
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setPrefix("/WEB-INF/classes/views/");
viewResolver.setSuffix(".jsp");
return viewResolver;
}
3.访问资源配置 > 重写addResourceHandlers方法
public void addResourceHandlers(ResourceHandlerRegistry registry){
registry.addResourceHandler("/webjars/**").addResourceLocations("/webjars/");//访问的虚拟路径
registry.addResourceHandler("/static/**").addResourceLocations("/static/");//访问的静态资源
}
四、mybatis-config.xml文件