随笔分类 - Spring(ssh+Spring data JPA)
摘要:Web层用Structs2的action Service层用Spring的IoC和aop以及JdbcTemplate或者Transaction事务(创建对象及维护对象间的关系) Dao层用Hibernate的crude操作 看上去是Structs2和Spring(把Structs2的action交给
阅读全文
摘要:XML配置文件代码如下: 事务的注解方法依然需要事务管理器DataSourceTransactionManager,这个管理器当然需要数据源DataSource来确认指向哪个数据库,即注入dataSource。 然后开启事务注解的扫描<tx:annotation-driven transaction
阅读全文
摘要:演示不使用事务出现异常情况 Dao层两个方法lessMoney()和moreMoney() Service层调用两个方法 但是两个操作减与加之间,如果出现异常,则会导致转账钱已经转了,但对方却没有到账的bug,可能服务器突然故障等引起 解决添加事务,出现异常进行回滚操作 下面使用配置文件的方法进行事
阅读全文
摘要:通过配置文件XML方法的配置 可以使用非常简练的Service类 UserService类代码如下: UserService要调用UserDao中连接数据库的方法add(),需要一个userDao对象,这个对象通过配置文件XML来注入对象,需要setUserDao()来配合 同样UserDao类也非
阅读全文
摘要:双击XML配置文件,如果打开方式不正确 则如下图: 都是灰色显示,不会有自动提示,也不会有颜色标注 右击XML配置文件,选择打开方式为XML Editor,则会有颜色标注 如果此时没有自动提示 则要手动添加 window--> preferences -->XML Catalog -->Add 然后
阅读全文
摘要:c3p0-0.9.2.1 jar包和mchange-commons-java-0.2.3.4 jar 包 下载地址: https://pan.baidu.com/s/1jHDiR7g 密码 tyek
阅读全文
摘要:用JdbcTemplate的方法完成, 查询数据库表,把用户表sw_user所有数据以List<User>集合返回 在JdbcTemplateDemo类中增加查询返回所有对象集合的方法queryAllObject() 数据源DriverManagerDataSource不变 jdbcTemplate
阅读全文
摘要:查询数据库表,如果用户表sw_user中存在一条username为lisi的数据,则将这条数据的对象返回 使用原始的方法,操作如下: 1、先写一个工具类,有实现MySQL数据库连接的方法,和关闭数据库连接、关闭ResultSet 结果集、关闭PreparedStatement 的方法。代码如下: 使
阅读全文
摘要:首先,找齐Spring框架中IoC功能、aop功能、JdbcTemplate功能所需的jar包,当前13个Jar包 1、Spring压缩包中的四个核心JAR包,实现IoC控制反转的根据xml配置文件或注解生成对象 beans 、context、core 和expression 下载地址: https
阅读全文
摘要:查询目标是完成3个功能: (1)查询表,返回某一个值。例如查询表中记录的条数,返回一个int类型数据 (2)查询表,返回结果为某一个对象。 (3)查询表,返回结果为某一个泛型的list集合。 一、查询表中记录的条数,返回一个int类型数据的操作方法 使用jdbcTemplate 原理是把加载驱动Cl
阅读全文
摘要:使用jdbcTemplate 原理是把加载驱动Class.forName("com.mysql.jdbc.Driver"); 和连接数据库Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/sw_datab
阅读全文
摘要:使用jdbcTemplate 原理是把加载驱动Class.forName("com.mysql.jdbc.Driver"); 和连接数据库Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/sw_datab
阅读全文
摘要:crud指数据库或者持久层的基本操作,包括 增加(Create)、读取查询(Retrieve 取回)、更新(Update)和删除(Delete) Spring不仅对JDBC进行了封装,也对Hibernate进行了封装,还有Ibatis jdbcTemplate与Java Web时的dbutils小型
阅读全文
摘要:首先是在xml配置文件中配置好对象,然后开启aop的注解方法——即<aop:aspectj-autoproxy></aop:aspectj-autoproxy> xml代码如下: 上面有原来xml配置aop的方法,这时已经不用了,用作参考 被增强的类及方法,代码如下: 用于增强的类及方法,代码如下:
阅读全文
摘要:Spring框架需要的jar包 1、Spring压缩包中的四个核心JAR包 beans 、context、core 和expression 下载地址: https://pan.baidu.com/s/1qXLHzAW 2、以及日志jar包 commons-logging 和log4j 下载地址: h
阅读全文
摘要:aop表达式写法 配置文件代码: 包括bean context aop三个约束 以及切面的配置——表达式execution含义、advice通知/增强设置 连接点joinpoint的类,即需要被增强的类: 进行切面操作的类: 测试的类: 演示效果图: 浏览器无反应 只有Book的方法,没有前置的be
阅读全文
摘要:(aspect oriented programming面向切面编程) 首先在原有的jar包: 需Spring压缩包中的四个核心JAR包 beans 、context、core 和expression 下载地址: https://pan.baidu.com/s/1qXLHzAW 以及日志jar包 c
阅读全文
摘要:Joinpoint 连接点 Pointcut 切入点 Advice 通知/增强 举例: 后置通知,不抛出异常则执行此通知,抛异常则不执行 最终通知,抛不抛异常都通知 其他通知都是环绕通知的衍生通知 Aspact 切面 比如给add()增加日志功能的过程即称为切面 还有几个术语知道就可以,不常用 As
阅读全文
摘要:特点 面向切面aop,扩展功能不需要修改源代码实现 AOP为Aspect Oriented Programming的缩写,意为:面向切面编程 aop采取横向抽取机制,取代了传统纵向继承体系重复性代码 我们实现了向数据库中添加新用户的方法add() 后来发现需要扩展功能,即添加新用户后,需要记录下添加
阅读全文
摘要:全注解不使用配置文件 首先还是倒包 在原有的jar包: 需Spring压缩包中的四个核心JAR包 beans 、context、core 和expression 下载地址: https://pan.baidu.com/s/1qXLHzAW 以及日志jar包 commons-logging 和log4
阅读全文