9月テンセント、Baiduは、29個の質問のアリSSMフレーム周波数が分析表面

、春の顔の質問
1、春SSMでのどのような役割で?
  • 春:軽量フレームワーク
  • 役割:豆工場Beanのライフサイクルと統合フレームワークを管理するために使用されます。
  • 2つのコア1は、IOC / DI(コントロール/依存性注入の反転):サービス層へのDAO依存性注入、反転層の層へのサービスアクションは、スプリング上部容器がたBeanFactoryあります。2、AOP:アスペクト指向プログラミング
2、事務の春?
  • プログラムによるトランザクション管理:プログラムによるトランザクション管理、優れた柔軟性、維持するのが難しいです。
  • 宣言型トランザクション管理:サービスコードおよびトランザクション管理は、トランザクションを管理するように構成注釈とxmlで、分離することができます。
3、プロジェクト内のIOCの役割?
役割:結合度を減らし、オブジェクト間の依存関係ののIOC解像度、設定ファイルや注釈を介してすべての依存関係ビーン仲間、。
4、Spring構成ファイルの内容?
  • オープン注釈駆動型取引
  • トランザクションマネージャ
  • コメントを開き、スキャンパッケージを設定
  • 設定データベース
  • SQLセッションの工場出荷時の設定、エイリアス、マッピングファイル
  • 代わりに、層ダオを実装書き込みクラスの
5、春にノート?
  • 登録:@Controller @Service @Component
  • 注入:@Autowired @Resource
  • 要求アドレス:@RequestMapping
  • ジャンプ特定のデータ型を返すとない:@ResponseBody
6、次の3つの方法の春DI?
コンストラクタ・インジェクション:初期化コンストラクタ
<コンストラクタ、引数インデックス= "0" タイプ= "java.lang.Stringで" 値= "宝马"> </コンストラクタ、引数>
メソッドのセッター注入:初期化方法設定
<プロパティ名= "ID" 値= "1111"> </プロパティ>
インタフェース注入
7、春は主にどのようなモデルを使用しましたか?
  • ファクトリーモード:豆によって作成されたそれぞれの方法
  • Singletonパターン:各Beanのスコープのデフォルトは、単一の例です
  • プロキシモード:AOPは上のプロキシモードを通じて達成しました
8、IOC、AOPの実装原理?
  • IOC:オブジェクト注射による反射を生成します
  • AOP:動的プロキシ
二、SpringMvcフェイス質問
1、SpringMvcコントローラはシングルトンではない、そうであれば、問題が何であるか、どのように解決するには?
  • 質問:シングルトン、スレッドセーフマルチスレッドのアクセスの問題で
  • 解決策:同期を使用しないでください、あなたは内部のフィールドコントローラを記述することはできません
2、SpringMvcコントローラは、ノート?
@Controller:このコメントは、そのクラスのロールプレイングコントローラを示し、
3、とクラスの役割にコメントをRequestMapping @?
処置:特定のクラスへのURLまたは治療の方法をマップするために使用
4、対象であるフロントデスク複数のパラメータは、オブジェクトがすぐに入手しますか?
方法:ダイレクトメソッドでこのオブジェクトを宣言し、SpringMvcが自動的に内部でこのオブジェクトに属性を割り当てます。
5、関数の戻り値SpringMvc?
文字列、のModelAndView、リストには、設定する等
一般的な文字列、Ajaxリクエストは、リストのコレクションを返します。
6、SpringMvc転送とリダイレクト?
  • 転送:返す:「こんにちは」
  • リダイレクト:リターン: "リダイレクト:Hello.jspのを"
7、SpringMvcとAjaxの間でお互いを呼び出しますか?
オブジェクトが直接のJava JSON JS識別可能なオブジェクトは、次の手順に変換するジャクソンフレーム:
  • JackSon.jarに参加
  • 設定ファイルのJSON構成マッピング
  • 受信方法Ajaxの上記の方法は@ResponseBodyに注釈を付ける必要が直接内部のバックオブジェクトは、などを一覧表示します
8、SpringMvc作業フローチャート?
9、Struts2のとSpringMvc違いは?
別の入り口:
  • Struts2の:フィルタフィルタ
  • SpringMvc:フロントコントローラサーブレットすなわち
さまざまな方法の開発:
  • Struts2の:のみの場合と開発クラス、クラスに基づいて渡された属性パラメータ、
  • SpringMvc:ベースメソッド開発(メソッドは、URLに対応する)、メソッドパラメータに渡されるリクエストパラメータは、単一の実施形態はまた、(シングルトン推奨)の場合であってもよいです
さまざまな方法を要求します。
  • Struts2:值栈村塾请求和响应的数据,通过OGNL存取数据
  • SpringMvc:通过参数解析器将request请求内容解析,给方法形参赋值,将数据和视图封装成ModelAndView对象,最后又将ModelAndView中的模型数据通过request域传输到页面,jsp视图解析器默认使用的是jstl。
三、Mybatis面试题
1、Ibatis和Mybatis?
  • Ibatis:2010年,apache的Ibatis框架停止更新,并移交给了google团队,同时更名为MyBatis。从2010年后Ibatis在没更新过,彻底变成了一个孤儿框架。一个没人维护的框架注定被mybatis拍在沙滩上。
  • Mybatis:Ibatis的升级版本。
2、什么是Mybatis的接口绑定,有什么好处?
Mybatis实现了DAO接口与xml映射文件的绑定,自动为我们生成接口的具体实现,使用起来变得更加省事和方便。
3、什么情况用注解,什么情况用xml绑定?
  • 注解使用情况:Sql语句简单时
  • xml绑定使用情况:xml绑定 (@RequestMap用来绑定xml文件)
4、Mybatis在核心处理类叫什么?
SqlSession
5、查询表名和返回实体Bean对象不一致,如何处理?
映射键值对即可
<result column = "title" property = "title" javaType = "java.lang.String" />
  • column:数据库中表的列名
  • property:实体Bean中的属性名
6、Mybatis的好处?
  • 把Sql语句从Java中独立出来。
  • 封装了底层的JDBC,API的调用,并且能够将结果集自动转换成JavaBean对象,简化了Java数据库编程的重复工作。
  • 自己编写Sql语句,更加的灵活。
  • 入参无需用对象封装(或者map封装),使用@Param注解
7、Mybatis配置一对多?
<collection property = "topicComment" column = "id" ofType = "com.tmf.bbs.pojo.Comment" select = "selectComment" />
  • property:属性名
  • column:共同列
  • ofType:集合中元素的类型
  • select:要连接的查询
8、Mybatis配置一对一?
<association property = "topicType" select = "selectType" column = "topics_type_id" javaType = "com.tmf.bbs.pojo.Type" />
  • property:属性名
  • select:要连接的查询
  • column:共同列
  • javaType:集合中元素的类型
9 、${} 和 #{}的区别?
  • ${}:简单字符串替换,把${}直接替换成变量的值,不做任何转换,这种是取值以后再去编译SQL语句。
  • #{}:预编译处理,sql中的#{}替换成?,补全预编译语句,有效的防止Sql语句注入,这种取值是编译好SQL语句再取值。
总结:一般用#{}来进行列的代替
10、获取上一次自动生成的主键值?
select last _insert_id()
11、Mybatis如何分页,分页原理?
  • RowBounds对象分页
  • 在Sql内直接书写,带有物理分页
12、Mybatis工作原理?
原理:
  • 通过SqlSessionFactoryBuilder从mybatis-config.xml配置文件中构建出SqlSessionFactory。
  • SqlSessionFactory开启一个SqlSession,通过SqlSession实例获得Mapper对象并且运行Mapper映射的Sql语句。
  • 完成数据库的CRUD操作和事务提交,关闭SqlSession。
 
最后
欢迎大家一起交流,喜欢文章记得点个赞哟,感谢支持!

おすすめ

転載: www.cnblogs.com/zhuifeng523/p/11609609.html