0
点赞
收藏
分享

微信扫一扫

Spring5-学编程找宇哥

邯唐情感 2022-04-17 阅读 40
java

Author:宇哥 WeChat/QQ: Warmheart170712 / 939638113
整理不易,重在分享,欢迎转发收藏,助力面试上岸,学编程找宇哥

课程内容介绍:

 1、Spring框架介绍

 2、IOC容器

   2.1、IOC的底层原理

   2.2、IOC接口-BeanFactory

   2.3、IOC操作bean管理

   2.4、Bean管理操作有两种方式

      2.4.1、IOC操作bean管理-基于xml方式(demo01、demo02)

      2.4.2、IOC操作bean管理-基于注解方式(demo03 demo04)

 3、AOP

   3.1、什么是AOP(概念)

   3.2、AOP底层原理

    3.3、AOP相关术语

   3.4、AOP操作准备

   3.5、AOP操作–基于AspectJ注解

   3.6、AOP操作–基于AspectJ配置文件

 4、JdbcTemplate

   4.1、什么是JdbcTemplate

   4.2、准备工作

   4.3、基于4.2的准备工作进行CRUD

 5、事务管理

   5.1、什么是事务

   5.2、事务的四个特性ACID

   5.3、新建事务操作环境

    步骤1、创库创表添加记录:
            在user_db库中创建t_account
    步骤2、创建service,搭建dao。完成对象创建和注入关系
            在service中注入dao,dao中注入jdbcTemplate,在jdbcTemplate中注入DataSource
    步骤3、在dao创建两个方法,多钱和少钱的方法,在service中创建转账的方法
            @Repository
            public class AccountDaoImpl implements AccountDao{
                @Autowired
                private JdbcTemplate jdbcTemplate;

                @Override
                public void addMoney() {
                    String sql = "update t_account set money=money+? where username=?";
                    //设置让mary的钱多100
                    jdbcTemplate.update(sql, 100,"mary");
                }

                @Override
                public void reduceMoney() {
                    String sql = "update t_account set money=money-? where username=?";
                    //设置让lucy的钱少100
                    jdbcTemplate.update(sql, 100,"lucy");
                }
    步骤4、编写测试
                @Test
                public void test1(){
                    //创建容器加载核心配置文件
                    ApplicationContext context =
                            new ClassPathXmlApplicationContext("spring1.xml");
                    //通过容器获取对象
                    AccountService accountService = context.getBean("accountService", AccountService.class);
                    //调用方法
                    accountService.accountMoney();
                }
    步骤5、运行查看数据库
            lucy少了100  mary多了100
    步骤6、模拟异常
            如果上述的代码出现了异常
                public void accountMoney(){
                    //luncy少100
                    accountDao.reduceMoney();
                    //模拟意向
                    int a = 1/0;
                    //maey多100
                    accountDao.addMoney();
                }
            出现的结果是:lucy少了100  但是mary没有增加100
    步骤7、使用事务解决的异常
            //转账的方法
                public void accountMoney(){
                    try{
                        //第一步:开启事务
                        //第二步:处理业务
                        //luncy少100
                        accountDao.reduceMoney();
                        //模拟意向
                        int a = 1/0;
                        //maey多100
                        accountDao.addMoney();
                        //第三步:如果没有发生异常,事务提交
                    }catch(Exception e){
                        //第四步:如果出现异常,事务回滚
                    }
                }

   5.4、Spring事务管理操作

      5.4.1、事务添加到JavaEE三层架构里的Service层,也就是业务逻辑层

      5.4.2、在Spring中进行事务管理–两种方式

                    编程时事务:不建议使用,代码臃肿,不易维护
                    声明式事务:使用方便

      5.4.3、声明式事务:

                1、基于注解方式
                2、基于xml配置文件方式
                3、在Spring进行声明式事务管理。底层用到了AOP原理
                4、提供可一个接口,代表事务管理器,这个接口针对不同的框架提供了不同的实现类

   5.5、Spring声明式事务–注解方式

   5.6、@Transactional注解事务管理的参数配置

   5.7、Spring声明式事务–xml方式

   5.8、Spring声明式事务–完全注解方式

举报

相关推荐

0 条评论