- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Spring
1.什么是spring
Spring是一个开源的控制反转(Inversion of Control ,IoC)和面向切面(AOP)的容器框架.它的主要目得是简化企业开发。
2.什么是控制反转?
以一个例子来说明:
public class PersonServiceBean {
private PersonDao personDao = new PersonDaoBean();
public void save(Person person){
personDao.save(person);
}
}
PersonDaoBean是在应用内部创建及维护的。所谓控制反转就是应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的。这样控制权就由应用转移到了外部容器,控制权的转移就是所谓反转。
3.spring优点
1)降低组件之间的耦合度,实现软件各层之间的解耦。(通过控制反转)
2)可以使用容器提供的众多服务,如:事务管理服务,AOP
3)容器提供单例模式支持,开发人员不再需要自己编写实现代码。
4容器提供的众多辅作类,使用这些类能够加快应用的开发,如: JdbcTemplate、 HibernateTemplate。
5)Spring对于主流的应用框架提供了集成支持,如:集成Hibernate、JPA、Struts等,这样更便于应用的开发。
4.实例化spring容器
ApplicationContext ac=new ClassPathXmlApplicationContext(new String[]{bean.xml});
bean的作用域
1)singleton(默认)
我们得默认配置就是singleton,当然也可以通过scope属性去指定相应的作用域,sigleton作用域会在容器启动时初始化bean(可以通过在构造函数中打印得出结论),当然我们也可以通过指定指定Bean节点的lazy-init=true 来延迟初始化bean,这时候,只有第一次获取bean才会初始化bean(当然不建议这样做)。在默认为singleton的情况下,我们获得的多个bean都是同一个(打印p1==p2为true)。
2)prototype
每次从容器获取bean都是新的对象。只有在调用getBean方法的时候才会初始化bean,并且每次获得的bean都不一样。
DI
public class PersonServiceBean implements PersonService
private PersonDao personDao;
public void setPersonDao(PersonDao personDao) {
this.personDao = personDao;
}
public void save(){
personDao.add(); }}
大致可以分为三种方式:1)构造器注入 2)set方法注入 3)注解方式注入
AOP
我觉得AOP技术主要会用于权限拦截,比方说我们要根据用户的权限判断用户能不能执行某一个方法,这里就会用到AOP
jdbctemplate与hibernatetemplate以及他们的事务管理
AOP实现原理——为目标对象创建代理对象。
Hibernate
1.什么是hibernate
hibernate是一个开源的ORM框架,它对JDBC进行了非常轻量级的对象封装,通过它我们可以使用对象编程思维来操纵数据库。
2.hibernate与jdbc的区别
首先先从他们俩的来历说起,由于java是一门面向对象的语言,而数据库采用的是关系模型,要在他们之间建立起关系,就必须解决模式不匹配的问题。有两种方法:一是jdbc手工配置(setString(),getString());二是使用ORM框架,比方说hibernate。
1)jdbc使用效率高,但是在java代码中嵌入了过多的sql逻辑
2)hibernate使用效率没有jdbc高,但是使用它程序员可以用面向对象的思维来操作数据库
3)hibernate可以实现跨数据库平台,只需要改方言以及驱动等。
3.session接口
Save,get,load,update,delete,这些方法进行简单说明
query接口
List,uniqueResult,setString,setParameterList
POJO类
1)瞬时(与session没有关系,与数据库也没有关系)
2)持久(与session有关系,与数据库也有关系)
3)脱管(与session没有关系,与数据库有关系,一般主键都有值)
6.Hibernate的Generator属性
Iden
您可能关注的文档
最近下载
- 不锈钢管道安装施工与方案.doc VIP
- 喜茶运营管理手册和员工操作管理手册.doc VIP
- 施工总包合同.docx VIP
- 土木专业英国规范NA to BS EN 1991-1-4_2005+A1_2010.pdf VIP
- 软件风险管理计划.docx VIP
- 2024年秋季人教版7年级上册数学全册教学课件(新教材).pptx
- 中山市八年级下期末考试数学试题(有答案)-精品 .pdf VIP
- Module10 Unit 2 Don’t shout please!(教案)外研版(三起)英语五年级上册1.docx VIP
- 顶格筹码峰与平均成本双线合一选股公式.docx VIP
- Module 10 Unit 2 Don’t shout, please! (教案)外研版(三起)英语五年级上册1.docx VIP
文档评论(0)