引入依赖
junit junit4.11 test org.springframework spring-webmvc5.3.19 org.mybatis mybatis3.5.7 mysql mysql-connector-java8.0.28 org.mybatis mybatis-spring2.0.6 org.springframework spring-jdbc5.1.2.RELEASE org.springframework spring-context5.1.2.RELEASE com.alibaba druid1.1.23
dataSource.properties配置
driverClass=com.mysql.cj.jdbc.Driver url=jdbc:mysql://localhost:3306/test?user=root&password=admin&useUnicode=true user=root password=admin 这里有个大坑,我使用了druid连接池,要把username改成user不然报拒绝访问
- 数据源配置
public class DataSourceConfig { //定义属性 为属性注入数据(数据的来源上面引入的db.properties文件) @Value("${driverClass}") private String driverClass; @Value("${url}") private String url; @Value("${user}") private String username; @Value("${password}") private String password; @Bean("dataSource") public DataSource dataSource(){ DruidDataSource druidDataSource = new DruidDataSource(); druidDataSource.setDriverClassName(driverClass); druidDataSource.setUrl(url); druidDataSource.setUsername(username); druidDataSource.setPassword(password); return druidDataSource; } }
- 配置mybatis
public class MybatisConfig { //创建SqlSessionFactoryBean对象,设置形参,Spring会自动去调用IOC容器中已有的数据源 @Bean public SqlSessionFactoryBean sqlSessionFactoryBean(@Autowired DataSource dataSource){ SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); sqlSessionFactoryBean.setDataSource(dataSource); return sqlSessionFactoryBean; } // @Bean // public MapperScannerConfigurer getMapperScannerConfigurer(){ // MapperScannerConfigurer mp = new MapperScannerConfigurer(); // mp.setBasePackage("com.lushannanlu.dao"); // return mp; // } }
- spring整合mybatis核心配置
@Configuration @ComponentScan("com.lushannanlu")//开启扫描 @Import({DataSourceConfig.class, MybatisConfig.class})//引入数据源配置和mybatis配置 @PropertySource("classpath:dataSource.properties")//引入数据源文件 @MapperScan("com.lushannanlu.dao")//开启dao层接口扫描 public class SpringConfig { }
dao层
public interface UserDao { //查询所有用户 @Select("select * from users") ListqueryUser(); } public interface TestDao { @Select("select * from users where username = #{username}") User queryUserByName(@Param("username") String username); }
serviceImp
@Service public class UserServiceImp implements UserService{ @Autowired private UserDao userDao;//接口代理对象 @Autowired private TestDao testDao;//接口代理对象 @Override public ListqueryUser() { return userDao.queryUser(); } public User queryUserByName(String username){ return testDao.queryUserByName(username); } }
- 测试
@Test public void shouldAnswerWithTrue() { ApplicationContext Context = new AnnotationConfigApplicationContext(SpringConfig.class); UserServiceImp userSericeImp = (UserServiceImp) Context.getBean("userServiceImp"); User zhangsan = userSericeImp.queryUserByName("zhangsan"); System.out.println(zhangsan); }
整合springmvc
1.删除web.xml 2.编写springmvc配置类 3.编写web.xml的配置类
@Configuration @ComponentScan("com.lushannanlu.controller") @EnableWebMvc public class SpringMVCConfig implements WebMvcConfigurer { @Bean public InternalResourceViewResolver viewResolver(){ InternalResourceViewResolver internalResourceViewResolver = new InternalResourceViewResolver(); internalResourceViewResolver.setPrefix("/WEB-INF/jsp/"); internalResourceViewResolver.setSuffix(".jsp"); return internalResourceViewResolver; } @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/pages @Override protected Class<?>[] getRootConfigClasses() { return new Class[]{SpringConfig.class}; } @Override protected Class<?>[] getServletConfigClasses() { return new Class[]{SpringMVCConfig.class}; } @Override protected String[] getServletMappings() { return new String[]{"/"}; } @Override protected Filter[] getServletFilters() { CharacterEncodingFilter encodingFilter = new CharacterEncodingFilter(); encodingFilter.setEncoding("utf-8"); return new Filter[]{encodingFilter}; } }
1.《ssm整合基于纯注解》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《ssm整合基于纯注解》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/jiaoyu/2371899.html