日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

spring aop示例_Spring JpaRepository示例(内存中)

發布時間:2023/12/3 javascript 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spring aop示例_Spring JpaRepository示例(内存中) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

spring aop示例

這篇文章描述了一個使用內存中HSQL數據庫的簡單Spring JpaRepository示例。 該代碼示例可從GitHub的Spring-JpaRepository目錄中獲得。 它基于帶有注釋的Spring-MVC-示例和此處提供的信息 。

JPA資料庫

在此示例中,我們實現了一個虛擬bean:

@Entity @AutoProperty public class SomeItem {@Id@GeneratedValue(strategy=GenerationType.AUTO)private long Id;private String someText;/* ...Setters & Getters */}

和相應的JpaRepository :

@Transactional public interface SomeItemRepositoryextends JpaRepository<SomeItem, Long> {}

服務與控制器

接下來,我們實現一個將注入我們的存儲庫的服務。 我們還用偽數據填充存儲庫:

@Service @Repository public class SomeItemService {@Autowiredprivate SomeItemRepository someItemRepository;@PostConstruct@Transactionalpublic void populate() {SomeItem si = new SomeItem();si.setSomeText("aaa");someItemRepository.saveAndFlush(si);si = new SomeItem();si.setSomeText("bbb");someItemRepository.saveAndFlush(si);si = new SomeItem();si.setSomeText("ccc");someItemRepository.saveAndFlush(si);}@Transactional(readOnly=true)public List<SomeItem> getAll() {return someItemRepository.findAll();}@SuppressWarnings("AssignmentToMethodParameter")@Transactionalpublic SomeItem saveAndFlush(SomeItem si) {if ( si != null ) {si = someItemRepository.saveAndFlush(si);}return si;}@Transactionalpublic void delete(long id) {someItemRepository.delete(id);}}

和一個控制器:

@Controller public class MyController {@Autowiredprivate SomeItemService someItemService;@RequestMapping(value = "/")public ModelAndView index() {ModelAndView result = new ModelAndView("index");result.addObject("items", this.someItemService.getAll());return result;}@RequestMapping(value = "/delete/{id}")public String delete(@PathVariable(value="id") String id) {this.someItemService.delete(Long.parseLong(id));return "redirect:/";}@RequestMapping(value = "/create")@SuppressWarnings("AssignmentToMethodParameter")public String add() {SomeItem si = new SomeItem();si.setSomeText("Time is: " + System.currentTimeMillis());this.someItemService.saveAndFlush(si);return "redirect:/";}}

JPA配置

除了基于HSQL數據庫的內存實例創建實體管理器之外,我們還通過以下方式啟用JPA存儲庫:
@EnableJpaRepositories批注:

@Configuration @EnableJpaRepositories(basePackages={"com.jverstry"}) @EnableTransactionManagement public class JpaConfig implements DisposableBean {private EmbeddedDatabase ed;@Bean(name="hsqlInMemory")public EmbeddedDatabase hsqlInMemory() {if ( this.ed == null ) {EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();this.ed = builder.setType(EmbeddedDatabaseType.HSQL).build();}return this.ed;}@Beanpublic LocalContainerEntityManagerFactoryBean entityManagerFactory(){LocalContainerEntityManagerFactoryBean lcemfb= new LocalContainerEntityManagerFactoryBean();lcemfb.setDataSource(this.hsqlInMemory());lcemfb.setPackagesToScan(new String[] {"com.jverstry"});lcemfb.setPersistenceUnitName("MyPU");HibernateJpaVendorAdapter va = new HibernateJpaVendorAdapter();lcemfb.setJpaVendorAdapter(va);Properties ps = new Properties();ps.put("hibernate.dialect", "org.hibernate.dialect.HSQLDialect");ps.put("hibernate.hbm2ddl.auto", "create");lcemfb.setJpaProperties(ps);lcemfb.afterPropertiesSet();return lcemfb;}@Beanpublic PlatformTransactionManager transactionManager(){JpaTransactionManager tm = new JpaTransactionManager();tm.setEntityManagerFactory(this.entityManagerFactory().getObject() );return tm;}@Beanpublic PersistenceExceptionTranslationPostProcessor exceptionTranslation(){return new PersistenceExceptionTranslationPostProcessor();}@Overridepublic void destroy() {if ( this.ed != null ) {this.ed.shutdown();}}}

JSP頁面

我們創建一個簡單的頁面來列出具有刪除鏈接的現有項目,以及創建新項目的可能性:

運行示例

可以使用maven tomcat:run目標運行它。 然后,瀏覽:http:// localhost:9191 / spring-jparepository /

參考: Spring JpaRepository示例(內存中),來自我們的JCG合作伙伴 Jerome Versrynge,在技術說明博客中。

翻譯自: https://www.javacodegeeks.com/2013/04/spring-jparepository-example-in-memory.html

spring aop示例

總結

以上是生活随笔為你收集整理的spring aop示例_Spring JpaRepository示例(内存中)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。