- 相關(guān)推薦
java基礎(chǔ)知識點匯總
計算機二級考試知識點的掌握對考生來說是比較重要的,下面是百分網(wǎng)小編為各位考生整理的java基礎(chǔ)知識點匯總復(fù)習(xí),希望堵大家的考試有所幫助!
JAVA知識點一
1.AOP的概念及優(yōu)點
Aspect Oriented Programming面向方面編程.
面對象編程的關(guān)注點是對象,面向方面編程以面向?qū)ο缶幊虨榛A(chǔ),關(guān)注點是切面,切面組件可以作用在若干目標(biāo)對象的方法上,封裝了具有通用性的一些處理.例如日志記錄,事務(wù)處理,異常處理等等.
面向方面編程優(yōu)點:將共通處理封裝成了一個獨立組件,利用配置形式作用在了某一批目標(biāo)對象上,實現(xiàn)組件的重復(fù)利用,將切面和目標(biāo)對象解耦,實現(xiàn)了低耦合應(yīng)用.
*a.切面(Aspect)
封裝了共通處理的組件,可用于切入到目標(biāo)對象的處理方法中
*b.切入點(Pointcut)
用于指定目標(biāo)對象和方法的一個表達(dá)式.是連接點的集合.
連接點是切面組件與某一個目標(biāo)對象方法的作用點,例如方法調(diào)用和異常發(fā)生
*c.通知(Advice)
用于指定切面功能切入目標(biāo)對象方法的位置.例如切入到目標(biāo)方法調(diào)用之前,目標(biāo)方法調(diào)用之后等.
通知類型:前置通知,后置通知,環(huán)繞通知,最終通知,異常通知
try{
//執(zhí)行前置通知
//執(zhí)行環(huán)繞通知--前置
執(zhí)行目標(biāo)對象方法
//執(zhí)行環(huán)繞通知--后置
//執(zhí)行后置通知
}catch(Exception ex){
//執(zhí)行異常通知
}finally{
//執(zhí)行最終通知
}
d.目標(biāo)對象(Target)
需要使用切面功能的,被切入的Bean對象.使用切入點表達(dá)式指定
e.動態(tài)代理(AutoProxy)
在Spring采用了AOP之后,從容器取出的目標(biāo)對象是一個動態(tài)代理類型,調(diào)用代理對象方法時,代理對象會調(diào)用切面功能和目標(biāo)對象功能.
動態(tài)代理類生成技術(shù):
有接口的目標(biāo)對象采用JDK Proxy技術(shù).
沒有接口的目標(biāo)對象采用CGLIB技術(shù).
2.切入點表達(dá)式的定義
1)方法限定execution
execution(修飾符? 返回類型 方法名(參數(shù)類型) throws 異常?)
a.匹配com.tarena.UserDAO的save()方法
execution(* com.tarena.UserDAO.save(..))
b.匹配com.tarena.UserDAO的所有方法
execution(* com.tarena.UserDAO.*(..))
c.匹配com.tarena.UserDAO的所有public void方法
execution(public void com.tarena.UserDAO.*(..))
d.匹配com.tarena包下所有類型的所有方法
execution(* com.tarena.*.*(..))
e.匹配com.tarena包下及其子包所有類型的所有方法
execution(* com.tarena..*.*(..))
f.匹配UserDAO中有一個參數(shù)并且是String類型的方法
execution(* com.tarena.UserDAO.*(java.lang.String))
2)類型限定within
within(類型)
a.匹配com.tarena.UserDAO的所有方法
within(com.tarena.UserDAO)
b.匹配com.tarena包下的所有類的所有方法
within(com.tarena.*)
c.匹配com.tarena包下及其子包的所有類的所有方法
within(com.tarena..*)
3)id名限定bean
bean(idOrName屬性值)
a.匹配容器中所有id或name屬性值以dao結(jié)尾的bean對象
bean(*dao)
JAVA知識點二
1.Spring對數(shù)據(jù)庫訪問技術(shù)的整合
Spring框架提供了對JDBC,Hibernate等其他數(shù)據(jù)庫訪問技術(shù)的整合.
Spring框架提供了一些整合API.
a.統(tǒng)一的異常處理類型DataAccessException,將這些異常在底層進(jìn)行了處理.
b.提供了一些集成組件,
Template組JdbcTemplate,HibernateTemplate.
DaoSupport組件JdbcDaoSupport,HibernateDaoSupport
2.Spring對JDBC技術(shù)的整合
1)引入開發(fā)包
spring核心jar(aop包不需要),
dbcp連接池jar,數(shù)據(jù)庫驅(qū)動jar
2)編寫實體類User
3)編寫UserDAO和JdbcUserDAO
4)編寫applicationContext.xml,配置dataSource,userDao,
將dataSource注入給userDao
JdbcTemplate的使用
update():執(zhí)行添加,刪除,更新
query():執(zhí)行查詢,返回多行結(jié)果
queryForObject:執(zhí)行查詢,最多返回一行結(jié)果
queryForInt:執(zhí)行查詢,返回一行一列(單個值)
execute():執(zhí)行DDL語句,例如創(chuàng)建表,刪除表語句
3.Spring對Hibernate技術(shù)的整合
1)引入開發(fā)包
spring核心jar(aop包不需要),
dbcp連接池jar,數(shù)據(jù)庫驅(qū)動jar
hibernate開發(fā)包
2)編寫實體類User
3)編寫映射描述文件User.hbm.xml
4)編寫applicationContext.xml,配置dataSource,sessionFactory,
userDao.將dataSource注入給sessionFactory,將sessionFactory注入給userDao.
HibernateTemplate的使用
save():添加
update():更新
delete():刪除
get()/load():按主鍵值查詢
find():執(zhí)行hql查詢
提示:在Spring整合Hibernate后,DAO如何獲取和使用Session對象
//分頁查詢示例
List list = (List)template.execute(
new HibernateCallback(){
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
//在回調(diào)方法中使用Session對象
String hql = "from User";
Query query = session.createQuery(hql);
int begin = (page-1)*pageSize;
query.setFirstResult(begin);
query.setMaxResults(pageSize);
return query.list();
}
})
4.Spring框架與Struts2的整合
1)整合方法一(整合結(jié)構(gòu)圖參考ssh2-2.jpg)
特點:將Action,Service,DAO組件都交給Spring容器管理
a.在web.xml中配置ContextLoaderListener
contextConfigLocation
classpath:applicationContext.xml
org.springframework.web.context.ContextLoaderListener
b.引入了Struts2和Spring整合的開發(fā)包.
struts2-spring-plugin-2.1.8.jar
該插件包提供一個StrutsSpringObjectFactory組件,該組件可以訪問Spring容器.該插件包在struts-plugin.xml配置中,將default.properties文件中struts.objectFactory參數(shù)指定為StrutsSpringObjectFactory組件.這樣,當(dāng)客戶發(fā)出action請求時,action對象由StrutsSpringObjectFactory負(fù)責(zé)從容器取出.
c.修改struts.xml中元素的class屬性配置.class屬性指定Spring容器中Action對象對應(yīng)的id值.
/list.jsp
【java基礎(chǔ)知識點】相關(guān)文章:
Java基礎(chǔ)知識點07-07
Java基礎(chǔ)語法知識點07-31
java語法基礎(chǔ)06-27
java編程基礎(chǔ)07-26
Java基礎(chǔ)語法05-21
java基礎(chǔ)總結(jié)03-06
java語言基礎(chǔ)03-27
Java語言的基礎(chǔ)07-29
java教程之Java編程基礎(chǔ)04-18