当前位置: 首页 > news >正文

网站建设续费催款通知书做金融类网站

网站建设续费催款通知书,做金融类网站,网站怎样绑定域名访问,网站视频做参考文献spring 事务持久性这是Project Student的一部分。 其他职位包括带有Jersey的Webservice Client#xff0c;带有Jersey的 Webservice Server和业务层 。 RESTful webapp onion的最后一层是持久层。 持久层有两种哲学。 一个阵营将数据库视为一个简单的存储#xff0c;并希望… spring 事务持久性 这是Project Student的一部分。 其他职位包括带有Jersey的Webservice Client带有Jersey的 Webservice Server和业务层 。 RESTful webapp onion的最后一层是持久层。 持久层有两种哲学。 一个阵营将数据库视为一个简单的存储并希望保持这一层非常薄。 另一阵营知道在数据库中执行任务通常比访问数据库中的数据用Java完成必要的工作以及可能第二次访问结果要快得多。 该阵营通常需要一个相当厚的持久层。 第二阵营也有一群希望广泛使用存储过程的流放者。 这使数据库功能更加强大但在持久层中却付出了一些额外的复杂性。 它的主要缺点是存储过程是特定于数据库的。 第二批流亡者仅使用存储过程来提高安全性。 我已经在前面进行了讨论例如您应该使用用户名和密码来调用存储过程并获得“接受”或“拒绝”响应而不是检索哈希密码并在应用程序中进行比较。 第一种方法允许您使用数据库的GRANT和REVOKE特权将哈希密码存储在不可访问的表中即使攻击者可以以应用程序用户身份执行任意SQL注入。 旁注您通常可以用Java编写存储过程Oracle支持它PostgreSQL支持它通过PL / Java扩展H2支持它通过类路径。我不知道MySQL是否支持它。确定的成本但这可能是解决许多问题的最佳解决方案。 无论如何该项目目前仅支持CRUD操作它们是使用薄型持久层的经典示例。 但是添加“ thick”方法很容易–只需使用它们创建一个CourseRepositoryImpl类。 此类不应实现CourseRepository接口 设计决策 Spring Data –我们使用Spring Data是因为它会自动生成持久层类。 局限性 分页 –没有尝试支持分页。 由于Spring Data已经支持它所以这不是一个大问题-我们只需要编写胶水即可。 组态 基本配置仅需要EnableJpaRepositories批注。 使用纯内存嵌入式数据库进行集成测试需要做更多的工作。 即使使用H2 URL告诉它使数据库服务器关闭直接使用Spring嵌入式数据库也不起作用。 数据库已正确初始化但在测试实际运行之前已关闭。 结果是失败因为缺少数据库架构。 使用由文件支持的内存数据库是微不足道的但可能导致并发运行问题意外拉入旧的测试数据等。显而易见的解决方案是使用随机的临时支持文件但是这种方法会带来自身的问题。 。 下面的方法是将嵌入式数据库缓存在配置类中并仅在应用程序关闭时销毁它。 这引入了一些非显而易见的行为迫使我们也必须显式创建一些其他bean。 IIRC如果您在配置类中创建嵌入式数据库并在配置文件中创建事务Bean则spring在配置文件中创建幻像数据源并且初始化失败。当我开始在同一文件中创建事务Bean时此问题消失了放置为数据源。 Configuration EnableJpaRepositories(basePackages { com.invariantproperties.sandbox.student.repository }) EnableTransactionManagement PropertySource(classpath:test-application.properties) ImportResource(classpath:applicationContext-dao.xml) public class TestPersistenceJpaConfig implements DisposableBean {private static final Logger log LoggerFactory.getLogger(TestPersistenceJpaConfig.class);private static final String PROPERTY_NAME_HIBERNATE_DIALECT hibernate.dialect;private static final String PROPERTY_NAME_HIBERNATE_FORMAT_SQL hibernate.format_sql;private static final String PROPERTY_NAME_HIBERNATE_NAMING_STRATEGY hibernate.ejb.naming_strategy;private static final String PROPERTY_NAME_HIBERNATE_SHOW_SQL hibernate.show_sql;private static final String PROPERTY_NAME_HIBERNATE_HBM2DDL_AUTO hibernate.hbm2ddl.auto;private static final String PROPERTY_NAME_ENTITYMANAGER_PACKAGES_TO_SCAN entitymanager.packages.to.scan;// private static final String PROPERTY_NAME_PERSISTENCE_UNIT_NAME // persistence.unit.name;Resourceprivate Environment environment;private EmbeddedDatabase db null;Beanpublic DataSource dataSource() {final EmbeddedDatabaseBuilder builder new EmbeddedDatabaseBuilder();db builder.setType(EmbeddedDatabaseType.H2).build(); // .script(foo.sql)return db;}Beanpublic LocalContainerEntityManagerFactoryBean entityManagerFactory() throws ClassNotFoundException {LocalContainerEntityManagerFactoryBean bean new LocalContainerEntityManagerFactoryBean();bean.setDataSource(dataSource());bean.setPackagesToScan(environment.getRequiredProperty(PROPERTY_NAME_ENTITYMANAGER_PACKAGES_TO_SCAN));bean.setPersistenceProviderClass(HibernatePersistence.class);// bean.setPersistenceUnitName(environment// .getRequiredProperty(PROPERTY_NAME_PERSISTENCE_UNIT_NAME));HibernateJpaVendorAdapter va new HibernateJpaVendorAdapter();bean.setJpaVendorAdapter(va);Properties jpaProperties new Properties();jpaProperties.put(PROPERTY_NAME_HIBERNATE_DIALECT, environment.getRequiredProperty(PROPERTY_NAME_HIBERNATE_DIALECT));jpaProperties.put(PROPERTY_NAME_HIBERNATE_FORMAT_SQL,environment.getRequiredProperty(PROPERTY_NAME_HIBERNATE_FORMAT_SQL));jpaProperties.put(PROPERTY_NAME_HIBERNATE_NAMING_STRATEGY,environment.getRequiredProperty(PROPERTY_NAME_HIBERNATE_NAMING_STRATEGY));jpaProperties.put(PROPERTY_NAME_HIBERNATE_SHOW_SQL,environment.getRequiredProperty(PROPERTY_NAME_HIBERNATE_SHOW_SQL));jpaProperties.put(PROPERTY_NAME_HIBERNATE_HBM2DDL_AUTO,environment.getRequiredProperty(PROPERTY_NAME_HIBERNATE_HBM2DDL_AUTO));bean.setJpaProperties(jpaProperties);return bean;}Beanpublic PlatformTransactionManager transactionManager() {JpaTransactionManager tm new JpaTransactionManager();try {tm.setEntityManagerFactory(this.entityManagerFactory().getObject());} catch (ClassNotFoundException e) {// TODO: log.}return tm;}Beanpublic PersistenceExceptionTranslationPostProcessor exceptionTranslation() {return new PersistenceExceptionTranslationPostProcessor();}Overridepublic void destroy() {if (db ! null) {db.shutdown();}} } applicationContext.xml文件为空。 该属性文件是 # hibernate configuration hibernate.dialectorg.hibernate.dialect.H2Dialect hibernate.ejb.naming_strategyorg.hibernate.cfg.ImprovedNamingStrategy hibernate.show_sqlfalse hibernate.format_sqltrue hibernate.hbm2ddl.autocreate# jpa configuration entitymanager.packages.to.scancom.invariantproperties.sandbox.student.domain persistence.unit.dataSourcejava:comp/env/jdbc/ssDS persistence.unit.namessPU单元测试 由于所有代码都是自动生成的因此没有单元测试。 这将随着添加自定义方法而改变。 整合测试 现在我们可以编写业务层的集成测试 RunWith(SpringJUnit4ClassRunner.class) ContextConfiguration(classes { BusinessApplicationContext.class, TestBusinessApplicationContext.class,TestPersistenceJpaConfig.class }) Transactional TransactionConfiguration(defaultRollback true) public class CourseServiceIntegrationTest {Resourceprivate CourseService dao;Testpublic void testCourseLifecycle() throws Exception {final String name Calculus 101;final Course expected new Course();expected.setName(name);assertNull(expected.getId());// create courseCourse actual dao.createCourse(name);expected.setId(actual.getId());expected.setUuid(actual.getUuid());expected.setCreationDate(actual.getCreationDate());assertThat(expected, equalTo(actual));assertNotNull(actual.getUuid());assertNotNull(actual.getCreationDate());// get course by idactual dao.findCourseById(expected.getId());assertThat(expected, equalTo(actual));// get course by uuidactual dao.findCourseByUuid(expected.getUuid());assertThat(expected, equalTo(actual));// update courseexpected.setName(Calculus 102);actual dao.updateCourse(actual, expected.getName());assertThat(expected, equalTo(actual));// delete Coursedao.deleteCourse(expected.getUuid());try {dao.findCourseByUuid(expected.getUuid());fail(exception expected);} catch (ObjectNotFoundException e) {// expected}}/*** test findCourseById() with unknown course.*/Test(expected ObjectNotFoundException.class)public void testfindCourseByIdWhenCourseIsNotKnown() {final Integer id 1;dao.findCourseById(id);}/*** test findCourseByUuid() with unknown Course.*/Test(expected ObjectNotFoundException.class)public void testfindCourseByUuidWhenCourseIsNotKnown() {final String uuid missing;dao.findCourseByUuid(uuid);}/*** Test updateCourse() with unknown course.* * throws ObjectNotFoundException*/Test(expected ObjectNotFoundException.class)public void testUpdateCourseWhenCourseIsNotFound() {final Course course new Course();course.setUuid(missing);dao.updateCourse(course, Calculus 102);}/*** Test deleteCourse() with unknown course.* * throws ObjectNotFoundException*/Test(expected ObjectNotFoundException.class)public void testDeleteCourseWhenCourseIsNotFound() {dao.deleteCourse(missing);} }源代码 可从http://code.google.com/p/invariant-properties-blog/source/browse/student/student-business和http://code.google.com/p/invariant-properties-获得源代码。 blog / source / browse / student / student-persistence 。 参考 项目学生 Invariant Properties博客上来自我们JCG合作伙伴 Bear Giles的Spring数据的持久性 。 翻译自: https://www.javacodegeeks.com/2014/01/project-student-persistence-with-spring-data.htmlspring 事务持久性
http://www.pierceye.com/news/517305/

相关文章:

  • 网站设计图能用ps做么襄城县住房和城市建设局网站
  • 汕头市网站建设分站服务机构建设网站费用会计分录
  • 360网站推广wordpress 插件 定时
  • 企业设计网站公司易语言可以做网站嘛
  • 乐昌网站建设wordpress 自动推送
  • 建立自我追求无我什么意思广州网站优化推广
  • 公司介绍网站怎么做的苏州网页制作招聘
  • 天长网站建设黄骅市长
  • 深圳网站维护页面设计WordPress在线留言插件
  • 网站改版的几个建议夜夜夜在线观看
  • 网站开发和 app开发的区别百度推广管家
  • 门窗网站制作宣传语建设一个商城式网站可以吗
  • 网站优化推广公司北京软件开发公司滕迎江
  • 网站建立的连接不安全怎么解决网站如何做数据库
  • 营销型制作网站公司重庆蒲公英网站建设公司
  • 官方网站找工作公众号中国航发网上采购平台
  • 大连网站制作仟亿科技个人网站建站步骤
  • 网站php文件上传成都网站搜索排名优化哪家好
  • 南京做网站费用做网站的服务器配置
  • 外贸用什么平台自建站较好门户网站盈利
  • 外包兼职做图的网站做视频网站用哪个模板
  • 全球购物网站大全百度网盟推广官方网站
  • 计算机网站维护建设深圳外网站建设
  • 贵州公明建设投资咨询有限公司官方网站小说网站开发对影成三人小说
  • 软件分享网站不一样的婚恋网站怎么做
  • 如何维护给做网站的客户公司变更名称和经营范围
  • 网站建设维护php建站最好的公司排名
  • 济南1951年建站wordpress 描述
  • 政务网站建设信息嵊州网站制作
  • 我的网站突然找不到网页了seo是啥意思