随笔分类 -  Spring

摘要:1、@Transactional的readOnly在使用@Transactional注解的时候,有一个属性是readOnly,默认值是falsereadOnly的意思就是当前的方法是只读的,也就是说当前的方法中没有需要处理事务(insert,update,delete)的操作。则可以加上readOnly=true使用它的好处是Spring会把你优化这方法,使用了readOnly=true,也就是使... 阅读全文
posted @ 2015-08-27 10:05 Python魔法师 阅读(2534) 评论(0) 推荐(0) 编辑
摘要:配置applicationContext.xml文件12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 ... 阅读全文
posted @ 2015-08-27 10:03 Python魔法师 阅读(587) 评论(0) 推荐(0) 编辑
摘要:1、加入DataSourceTransactionManager的命名空间修改applicationContext.xml文件,增加如下内容:12345678910111213142、初始化HibernateTransactionManager123456789101112131415161718192021222324252627282930313233343536373839404142434... 阅读全文
posted @ 2015-08-27 09:48 Python魔法师 阅读(584) 评论(0) 推荐(0) 编辑
摘要:1、在applicationContext.xml文件中初始化SessionFactory(annotation方式)12345678910111213141516171819202122232425262728 com.fz.annotation.model.User ... 阅读全文
posted @ 2015-08-27 09:46 Python魔法师 阅读(371) 评论(0) 推荐(0) 编辑
摘要:1、导入需要的jar包2、配置数据源,在applicationContext.xml文件中增加配置方式1:直接使用bean方式123456 方式2:使用properties文件在src下新建jdbc.properties文件,内容如下:1234jdbc.driverClassName=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql:/... 阅读全文
posted @ 2015-08-27 09:45 Python魔法师 阅读(510) 评论(0) 推荐(0) 编辑
摘要:1、编写切面类12345678910111213141516171819202122232425262728package com.fz.annotation.aop; import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.AfterReturning;import org.aspectj.la... 阅读全文
posted @ 2015-08-27 09:37 Python魔法师 阅读(287) 评论(0) 推荐(0) 编辑
摘要:@Before 方法执行之前执行@AfterReturning 方法正常执行完成后执行@AfterThrowing 抛出任何异常之后执行@After 就是相当于finally,它会将你的方法try,cath和finally,所有的执行完之后。就会执行@Around 前后加逻辑1234567@Around("com.xyz.myapp.SystemArchitecture.businessServ... 阅读全文
posted @ 2015-08-27 09:36 Python魔法师 阅读(247) 评论(0) 推荐(0) 编辑
摘要:1、添加其他jar包2、配置applicationContext.xml文件12345678910111213141516 3、编写切面类LogInterceptor.java123456789101112131415161718192021222324252627282930313233343536package com.fz.annotation.aop; im... 阅读全文
posted @ 2015-08-27 09:35 Python魔法师 阅读(269) 评论(0) 推荐(0) 编辑
摘要:AOP:(Aspect-Orlented-Programming)面向切面编程,和面向对象是互相补充的。面向对象是横着编程,面向切面则是竖着编程。1234@Before("execution(public void com.fz.annotation.service.impl.UserServiceImpl.userAdd(com.fz.xml.entity.User))")public void... 阅读全文
posted @ 2015-08-27 09:34 Python魔法师 阅读(202) 评论(0) 推荐(0) 编辑
摘要:配置Annotation的环境:只需修改applicationContext.xml文件即可1234567891011 增加内容:解释:1、,都从"http://www.springframework.org/schema/context"这个key下对应的那个文件去找所能写的东西 来自为知笔记(Wiz) 阅读全文
posted @ 2015-08-27 09:32 Python魔法师 阅读(653) 评论(0) 推荐(0) 编辑
摘要:@Autowired:自动装配,不用在bean里写属性来指定所依赖的属性1234@Autowiredpublic void setUserDao(UserDao userDao) { this.userDao = userDao;}Autowired:表示spring会在容器里找跟setUserDao(UserDao userDao)这里面的参数相同类型的bean,然后给注入进来。例如:原来... 阅读全文
posted @ 2015-08-25 17:59 Python魔法师 阅读(1157) 评论(0) 推荐(0) 编辑
摘要:@Resource:同样也是注入,默认是按byName,byName找不到的话按byType1234@Resourcepublic void setUserDao(UserDao userDao) { this.userDao = userDao;}xml文件里,没有一个名字为userDao的bean123456此时测试的时候会报错,因为默认按byName,此时是没有名字为userDao的b... 阅读全文
posted @ 2015-08-25 17:58 Python魔法师 阅读(896) 评论(0) 推荐(0) 编辑
摘要:@Component:组件,表示此写上了此注解的bean,作为一个组件存在于容器中。这样的话别的地方就可以使用@Resource这个注解来把这个组件作为一个资源来使用了。初始化bean的名字为类名首字母小写与@Component注解功能相同的注解有:@Repository,@Service,@Controller,@Component ,默认情况下Spring认为这4个注解会被认为是一个组件。@R... 阅读全文
posted @ 2015-08-25 17:57 Python魔法师 阅读(403) 评论(0) 推荐(0) 编辑
摘要:@Scope的使用很简单,直接在类上加上就行@PostConstruct:相当于xml配置方式的init-method方法@PreDestroy:相当于xml配置方式的destroy-method方法例如:userService12345678910111213141516171819202122232425262728293031323334353637package com.fz.annota... 阅读全文
posted @ 2015-08-25 17:56 Python魔法师 阅读(470) 评论(0) 推荐(0) 编辑
摘要:可以在Spring容器初始化bean的时候给bean的属性赋初始值,直接在property标签里设置即可123456 不过,一般我们自己new的bean是不会这样做的,而Spring自己的bean则有可能这样初始化属性。比如:Spring的连接池使用String设值123456 使用Properties设置123456789 ... 阅读全文
posted @ 2015-08-25 17:55 Python魔法师 阅读(1354) 评论(0) 推荐(0) 编辑
摘要:在一个bean的配置里面可以指定一个属性Scope,也就是bean的范围,bean的生命周期。Scope可取的值5种:singleton(默认)、prototype、request、session、global session其中最常用的就是:singleton和prototype,其他的三个是和web相关的,很少使用。singleton:也就是单例模式。表示这个bean是单例模式,每次获取都是同... 阅读全文
posted @ 2015-08-25 17:54 Python魔法师 阅读(1733) 评论(0) 推荐(0) 编辑
摘要:新建一个bean,设置相应的集合属性1234567891011121314151617181920212223public class Collections { private Set sets; private List lists; private Map maps; public Set getSets() { return sets; } ... 阅读全文
posted @ 2015-08-25 17:53 Python魔法师 阅读(2104) 评论(0) 推荐(0) 编辑
摘要:Spring的自动装配,也就是定义bean的时候让spring自动帮你匹配到所需的bean,而不需要我们自己指定了。例如:User实体类里面有一个属性role1234567public class User { private int id; private String username; private String password; private Role rol... 阅读全文
posted @ 2015-08-25 17:52 Python魔法师 阅读(5079) 评论(0) 推荐(0) 编辑
摘要:在Spring中容器在初始化某个bean的时候会有相应的生命周期,类似于Servlet,有相应的init,destory等方法例如:如下service1234567891011public class UserService { public void init(){ System.out.println("UserService init ....."); } p... 阅读全文
posted @ 2015-08-25 17:51 Python魔法师 阅读(619) 评论(0) 推荐(0) 编辑
摘要:lazy-init(懒加载),表示该bean在容器初始化的时候不进行初始化。例如:以上配置表示:spring容器在初始化的时候不会初始化role1这个bean,当配置上lazy-init=true之后,表示该bean是懒加载模式,什么时候用到了该bean才会进行初始化。它有两个值:true,false(默认)true表示该bean是懒加载,容器初始化的时候不进行初始化。当然,也可以配置在beans... 阅读全文
posted @ 2015-08-25 17:50 Python魔法师 阅读(4576) 评论(0) 推荐(0) 编辑