栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SSM— —使用全注解开发(基于maven)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SSM— —使用全注解开发(基于maven)

文章目录
  • SSM使用注解开发
    • 1、创建Maven工程(使用模板webapp)
    • 2、准备工作(导入jar包,创建包结构等)
        • 2、1 导入jar包
        • 2、2 编写包结构
    • 3、完成具体类的编写
        • 3、1 config类编写
          • 3、1、1 JdbcConfig类
          • 3、1、2 MyBatisConfig类
          • 3、1、3 SpringConfig类
          • 3、1、4 SpringMvcConfig类
          • 3、1、5 ServletConfig类
        • 3、2 Book类的编写
        • 3、3 dao层的编写
        • 3、4 service及实现类的编写

SSM使用注解开发 1、创建Maven工程(使用模板webapp) 2、准备工作(导入jar包,创建包结构等) 2、1 导入jar包

导入spring-webmvc、spring-jdbc、spring-test、mybatis、mybatis-spring、mysql-connector-java、druid、junit、javax.servlet-api、jackson-databind




  4.0.0

  com.ali
  ssm_anno
  1.0-SNAPSHOT
  war

  
    
      org.springframework
      spring-webmvc
      5.2.10.RELEASE
    

    
      org.springframework
      spring-jdbc
      5.2.10.RELEASE
    

    
      org.springframework
      spring-test
      5.2.10.RELEASE
    

    
      org.mybatis
      mybatis
      3.5.6
    

    
      org.mybatis
      mybatis-spring
      1.3.0
    

    
      mysql
      mysql-connector-java
      8.0.28
    

    
      com.alibaba
      druid
      1.1.16
    

    
      junit
      junit
      4.12
      test
    

    
      javax.servlet
      javax.servlet-api
      3.1.0
      provided
    

    
      com.fasterxml.jackson.core
      jackson-databind
      2.9.0
    
  

  
    
      
        org.apache.tomcat.maven
        tomcat7-maven-plugin
        2.1
        
          80
          /
        
      
      
        org.apache.maven.plugins
        maven-compiler-plugin
        3.8.1
        
          8
          8
        
      
    
  

2、2 编写包结构

3、完成具体类的编写 3、1 config类编写

在resources下编写jdbc.properties

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm_db?useSSL=true&serverTimezone=UTC
jdbc.username=root
jdbc.password=root
3、1、1 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;

    @Bean
    public DataSource dataSource(){
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setDriverClassName(driver);
        dataSource.setUrl(url);
        dataSource.setUsername(username);
        dataSource.setPassword(password);
        return dataSource;
    }

    @Bean
    public PlatformTransactionManager transactionManager(DataSource dataSource){
        DataSourceTransactionManager ds = new DataSourceTransactionManager();
        ds.setDataSource(dataSource);
        return ds;
    }
}
3、1、2 MyBatisConfig类
public class MyBatisConfig {

    @Bean
    public SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource){
        SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
        factoryBean.setDataSource(dataSource);
        factoryBean.setTypeAliasesPackage("com.ali.domain");
        return factoryBean;
    }

    @Bean
    public MapperScannerConfigurer mapperScannerConfigurer(){
        MapperScannerConfigurer msc = new MapperScannerConfigurer();
        msc.setBasePackage("com.ali.dao");
        return msc;
    }

}
3、1、3 SpringConfig类
@Configuration
@ComponentScan({"com.ali.service"})
@PropertySource("classpath:jdbc.properties")
@Import({JdbcConfig.class,MyBatisConfig.class})
@EnableTransactionManagement
public class SpringConfig {
}
3、1、4 SpringMvcConfig类
@Configuration
@ComponentScan("com.ali.controller")
@EnableWebMvc
public class SpringMvcConfig {
}

3、1、5 ServletConfig类
public class ServletConfig extends AbstractAnnotationConfigDispatcherServletInitializer {
    protected Class[] getRootConfigClasses() {
        return new Class[]{SpringConfig.class};
    }

    protected Class[] getServletConfigClasses() {
        return new Class[]{SpringMvcConfig.class};
    }

    protected String[] getServletMappings() {
        return new String[]{"/"};
    }
}
3、2 Book类的编写
public class Book {
    private Integer id;
    private String type;
    private String name;
    private String description;

    @Override
    public String toString() {
        return "Book{" +
                "id=" + id +
                ", type='" + type + ''' +
                ", name='" + name + ''' +
                ", description='" + description + ''' +
                '}';
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }
}

3、3 dao层的编写
public interface BookDao {

//    @Insert("insert into tbl_book values(null,#{type},#{name},#{description})")
    @Insert("insert into tbl_book (type,name,description) values(#{type},#{name},#{description})")
    public void save(Book book);

    @Update("update tbl_book set type = #{type}, name = #{name}, description = #{description} where id = #{id}")
    public void update(Book book);

    @Delete("delete from tbl_book where id = #{id}")
    public void delete(Integer id);

    @Select("select * from tbl_book where id = #{id}")
    public Book getById(Integer id);

    @Select("select * from tbl_book")
    public List getAll();
}
3、4 service及实现类的编写

service接口:

@Transactional//开启事务
public interface BookService {

    
    public boolean save(Book book);

    
    public boolean update(Book book);

    
    public boolean delete(Integer id);

    
    public Book getById(Integer id);

    
    public List getAll();
}

service实现类

@Service
public class BookServiceImpl implements BookService {
    @Autowired
    private BookDao bookDao;

    public boolean save(Book book) {
        bookDao.save(book);
        return true;
    }

    public boolean update(Book book) {
        bookDao.update(book);
        return true;
    }

    public boolean delete(Integer id) {
        bookDao.delete(id);
        return true;
    }

    public Book getById(Integer id) {
        return bookDao.getById(id);
    }

    public List getAll() {
        return bookDao.getAll();
    }
}

注意:此时webapp下的WEB-INF下的web.xml内容为:




  Archetype Created Web Application

接下来到test类中完成测试即可。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/832083.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号