{"componentChunkName":"component---node-modules-gatsby-theme-medium-to-own-blog-src-templates-blog-post-js","path":"/spring-facts/","result":{"data":{"site":{"siteMetadata":{"siteUrl":"https://javame.netlify.app","githubUrl":"https://github.com/aterreno/blog"}},"mdx":{"fields":{"slug":"/spring-facts/"},"excerpt":"Spring Java Configuration  is the answer of Rod Johnson to all xml haters, with javaconfig you can configure the whole Spring IOC in pure…","timeToRead":1,"frontmatter":{"title":"Spring Facts","description":"","categories":[],"date":"April 17, 2009","canonical_link":"https://javame.netlify.app//spring-facts-c0b9cd28ad5e"},"body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"Spring Facts\",\n  \"description\": \"\",\n  \"date\": \"2009-04-17T00:00:00.000Z\",\n  \"categories\": [],\n  \"published\": true,\n  \"canonical_link\": \"https://javame.netlify.app//spring-facts-c0b9cd28ad5e\",\n  \"redirect_from\": [\"/spring-facts-c0b9cd28ad5e\"]\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"http://www.springsource.org/javaconfig\",\n    \"target\": \"_blank\",\n    \"rel\": \"nofollow noopener noreferrer\"\n  }), \"Spring Java Configuration\"), \" is the answer of Rod Johnson to all xml haters, with javaconfig you can configure the whole Spring IOC in pure Java\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"http://static.springframework.org/spring/docs/2.5.x/reference/beans.html#beans-autowired-annotation\",\n    \"target\": \"_blank\",\n    \"rel\": \"nofollow noopener noreferrer\"\n  }), \"Spring Autowiring with Annotations\"), \" will lead you to a more readable and smaller xml configuration file\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"http://static.springframework.org/spring/docs/2.5.x/reference/transaction.html\",\n    \"target\": \"_blank\",\n    \"rel\": \"nofollow noopener noreferrer\"\n  }), \"Spring Transactions with Annotations\"), \" will let you fine-grained configuration of your service layer transactionality\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"http://www.terracotta.org/confluence/display/devdocs/Terracotta+for+Spring+Architecture\",\n    \"target\": \"_blank\",\n    \"rel\": \"nofollow noopener noreferrer\"\n  }), \"Spring and Terracotta\"), \" play together very well, if you\\u2019re worried about HA/Clustering have a go\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"http://blog.springsource.com/2009/03/08/rest-in-spring-3-mvc/\",\n    \"target\": \"_blank\",\n    \"rel\": \"nofollow noopener noreferrer\"\n  }), \"Spring and REST\"), \": the version 3 of Spring will let you write RESTful service with just a couple of annotations\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"http://static.springframework.org/spring/docs/2.5.x/reference/testing.html#testcontext-ctx-management\",\n    \"target\": \"_blank\",\n    \"rel\": \"nofollow noopener noreferrer\"\n  }), \"Spring Testability\"), \" is unbeaten: there\\u2019s nothing as easy to test as a POJO, in addition to that Spring offers autowiring and transaction managment inside the tests\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"http://www.springsource.org/osgi\",\n    \"target\": \"_blank\",\n    \"rel\": \"nofollow noopener noreferrer\"\n  }), \"Spring OSGi\"), \": assuming that OSGi is a good idea Spring is already there\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"http://www.springsource.org/\",\n    \"target\": \"_blank\",\n    \"rel\": \"nofollow noopener noreferrer\"\n  }), \"Spring\"), \" is not a silver bullet but you\\u2019ll have to point me a gun in order to consider EJB3 as an alternative\")));\n}\n;\nMDXContent.isMDXComponent = true;"},"allWebMentionEntry":{"nodes":[]}},"pageContext":{"id":"7db4e071-5c82-5b80-b032-1f9797926c49","previous":{"id":"252f984d-fd67-5253-8b65-edcc4ffd0d24","fields":{"slug":"/maven-facts/","published":true},"frontmatter":{"redirect_from":["/maven-facts-3e2e37f7110c"],"redirect_to":null,"title":"Maven Facts"}},"next":{"id":"85e1b63a-c62a-5503-8840-c2da02743201","fields":{"slug":"/tibco-gi-no-thanks/","published":true},"frontmatter":{"redirect_from":["/tibco-gi-no-thanks-ebd43b4ae61c"],"redirect_to":null,"title":"Tibco GI? No thanks"}},"permalink":"https://javame.netlify.app/spring-facts/","themeOptions":{"plugins":[],"config":{"title":"Antonio Terreno","description":"Antonio Terreno's blog archive","shortBio":"","bio":"Principal Consultant at Equal Experts","author":"Antonio Terreno","githubUrl":"https://github.com/aterreno/blog","siteUrl":"https://javame.netlify.app/","social":{"twitter":"javame","medium":"","facebook":"","github":"aterreno","linkedin":"antonioterreno","instagram":"tritonitri"},"goatCounterCode":null}}}},"staticQueryHashes":["4131332129","645483741"]}