A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

        黄志彬
        反射
第一步获得代表这个类加载到内存的字节码文件的对象Class对象()
推荐使用class的forname的静态方法获得 Class.forName("类的全路径");
class去操作构造方法,属性,方法

内省基于反射实现,主要用于操作JavaBean,通过内省 可以获取bean的getter/setter

beanutils导两个包 logging和beanutils

JDBC 中的事务管理
setAotuCommit();自动提交模式
commit提交
rollback回滚
如果有异常就rollback,没有异常就commit


        三层架构和MVC是不同时期的不同东西,它们毫无关系的,
        web层                业务层                持久层
        servlet JSP        javabean        JDBC
        Struts2                Spring                Hibernate
        SpringMVC                        MyBatis
        Struts1                                DBUtils
        WebWork                                JDBCTemplate


        MVC是Model(模型层)        主要负责出来业务逻辑以及数据库的交互
        View(视图层)                主要用于显示数据和提交数据
        Controller(控制器)        主要是用作捕获请求并控制请求转发

使用servlet+JSP+javabean开发目前市面上的大部分项目,企业级中SSH.SSM框架进行开发
回复 使用道具 举报
李思贤:反射

public  void run(){
                System.out.println("跑");
        }
private String SayHello(String name){
                return "hello"+name;
        }
通过反射得到Javabean中的方法(公有私有都可获得)
Class clazz = Class.forName("com.itheima.Domain.Account");
                Method method = clazz.getDeclaredMethod("run");
                method.setAccessible(true);
                method.invoke(clazz.newInstance());
               
                System.out.println("-------------");
               
                Method method2 = clazz.getDeclaredMethod("SayHello", String.class);
                method2.setAccessible(true);
                String s = (String) method2.invoke(clazz.newInstance(), "李思贤");
                System.out.println(s);
}




事物
事物:要么全部成功,要么全部失败.

转账案例:三种方式(1贾琏欲执释 2DBUtils 3本地线程(了解))详见项目Day0609
注意Double的转换
Double money = (Double.parseDouble(request.getParameter("money")));
回复 使用道具 举报
Do1 中级黑马 2018-6-10 10:24:40
43#
本帖最后由 Do1 于 2021-6-21 08:17 编辑



MVC就是模型层 显示层 和控制层,模型层存放数据从控制层里面去拿,显示层显示给客户端

模型层主要通过javabean封装好数据,控制层Servlet去拿javabean的数据或者从文件中拿到数据,然后通过JSP显示层显示在客户端上

事务回滚主要掌握向下传递
回复 使用道具 举报
吴俊斌

mvc模式:
  M(模型层):处理数据库中数据的增删改查 Javabean service dao
  v(视图层):主要是负责显示 jsp,html,css,js等
  c(控制层):主要负责从视图读取数据,控制用户输入,并向模型层发送数据 servlet

事务:
  事务是对数据库的操作,由于多线程,会出现安全问题.我们操作的时候要保证要么
全部成功,要么全部失败.
   在java代码中,一般通过开启事务(setAutomatic),将自动提交改为手动提交
   把异常捕获,如果没出现异常,那么执行提交事务(commit).出现异常执行rollback
回滚事务
   
反射获得方法:
    1,先获得字节码对象,有三种方式.用的最多最灵活的是:
      Class.forName(包名加类名)
    2,创建对象
      如果构造public并且无参可以通过字节码对象.newInstance()
      如果是有参私有的构造,可以通过构造器,getDeclaredConstructor()
      在newInstance()

    3.获得方法
      私有的.通过字节码对象Class.forName("").getMethod(方法名, 参数)
      再调用.invoke(obj, args)
回复 使用道具 举报
123
您需要登录后才可以回帖 登录 | 加入黑马