spring boot基礎搭建(三)
重新配置hibernate:
在config包下建立HibernateConfiguration類如下:
程式碼:
package com.config;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.
import org.springframework.context.annotation.Configuration;
import org.springframework.orm.hibernate5.HibernateTransactionManager;
import org.springframework.orm.hibernate5.LocalSessionFactoryBean;
import javax.sql.DataSource;
import java.util.Properties;
/**
* Created by onion on 2017-03-30 15:18.
*/
@Configuration
public class HibernateConfiguration {
//配置sessionFactory
@Bean
public LocalSessionFactoryBean sessionFactory(@Qualifier("dataSource") DataSource dataSource,
@Value("${spring.hibernate.packageScan}") String packageScan,
@Value("${spring.jpa.properties.hibernate.dialect}"
@Value("${spring.jpa.show-sql}") String showSql,
@Value("${spring.jpa.properties.hibernate.format_sql}") String formatSql,
@Value("${spring.jpa.properties.hibernate.use_sql_comments}") String useSqlComments,
@Value("${spring.jpa.hibernate.ddl-auto}") String ddlAuto) {
LocalSessionFactoryBean localSessionFactoryBean = new LocalSessionFactoryBean();
localSessionFactoryBean.setDataSource(dataSource);
localSessionFactoryBean.setPackagesToScan(packageScan);
Properties properties = new Properties();
properties.setProperty("hibernate.dialect", dialect);
properties.setProperty("hibernate.show_sql", showSql);
properties.setProperty("hibernate.format_sql", formatSql);
properties.setProperty("hibernate.use_sql_comments", useSqlComments);
properties.setProperty("hibernate.hbm2ddl.auto", ddlAuto);
localSessionFactoryBean.setHibernateProperties(properties);
return localSessionFactoryBean;
}
//配置hibernate事務處理
@Bean
public HibernateTransactionManager transactionManager(SessionFactory sessionFactory) {
HibernateTransactionManager transactionManager = new HibernateTransactionManager();
transactionManager.setSessionFactory(sessionFactory);
return transactionManager;
}
}
然後在application.properties新增以下程式碼:
spring.jta.transaction-manager-id=transactionManager
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
spring.hibernate.packageScan=com.tgb.model
將UserService程式碼修改為:
package com.tgb.service;
import com.tgb.dao.UserDao;
import com.tgb.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* Created by onion on 2017-03-28 09:11.
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class UserService {
@Autowired
private UserDao userDao;
public User addUser(User user) {
User user1 = new User();
user1.setName("測試資料");
user1.setAge(2);
userDao.save(user1);
int i = 10/0;
return userDao.save(user);
}
@Transactional(readOnly = true)
public List<User> getAll() {
return userDao.findAll();
}
}
上面的Transactional(rollbackFor = Exception.class)註解是設定事務處理。
在addUser方法中我們int i = 10/0 會出現異常。當出現異常資訊時候我們實現了資料回滾。
在dao包下新建impl包,如下:
在dao包下新建GenericDao類,如下:
其中程式碼:
package com.tgb.dao;
import java.util.List;
/**
* Created by onion on 2017-03-30 15:57.
*/
public interface GenericDao<T, PK> {
void save(T entity);
void delete(T entity);
void deleteAll(List<T> entities);
void saveOrUpdate(T entity);
T findById(PK id);
void update(T entity);
List<T> findAll(Object... args);
Object getUniqueObject(String hql, Object... params);
List<T> findAllbyhql(String hql);
void deletebyhql(String hql);
List<T> queryPage(T entity, int page, int rows);
}
在dao.impl下建立類GenericDaoImpl,如下:
程式碼:
package com.tgb.dao.impl;
import com.tgb.dao.GenericDao;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate5.HibernateCallback;
import org.springframework.orm.hibernate5.support.HibernateDaoSupport;
import java.io.Serializable;
import java.lang.reflect.ParameterizedType;
import java.util.List;
/**
* Created by onion on 2017-03-30 15:59.
*/
public class GenericDaoImpl <T, PK extends Serializable> extends HibernateDaoSupport implements GenericDao<T, PK> {
@Autowired
public void InitSession(SessionFactory sessionFactory) {
setSessionFactory(sessionFactory);
}
private Class<T> clazz;
public GenericDaoImpl() {
clazz = (Class<T>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];
}
@Override
public void save(T entity) {
getHibernateTemplate().save(entity);
}
@Override
public T findById(PK id) {
return getHibernateTemplate().get(clazz, id);
}
@Override
public void update(T entity) {
getHibernateTemplate().update(entity);
}
@Override
public void saveOrUpdate(T entity) {
getHibernateTemplate().saveOrUpdate(entity);
}
@Override
public void delete(T entity) {
getHibernateTemplate().delete(entity);
}
@Override
public void deleteAll(List<T> entities) {
getHibernateTemplate().deleteAll(entities);
}
@Override
public List<T> findAll(Object... args) {
return (List<T>) getHibernateTemplate().find("from " + clazz.getName(), args);
重新配置hibernate:
在config包下建立HibernateConfiguration類如下:
程式碼:
package
com.config;
im div nbsp troy string 實例化 public ive work 初始 一、Bean的初始化和銷毀
在我們的實際開發的時候,經常會遇到Bean在使用之前或之後做些必要的操作,Spring對Bean的生命周期操作提供了支持。在使用Java配置和註解配置下提 使用方式 實現類 pat igp pid localhost aid 倉庫 默認 3. 內部應用監控(Actuator)
如上2.4中所述,傳統spring工程中工程的初始化過程,bean的生命周期,應用的內部健康情況均無法監控,為了解決這個問題,spring boot提供 nal rop dep ioc devtools 一點 一個 splay option 1、一般項目啟動的時候,剛開始都有一個《spring》的標誌,如何修改呢?在resources下面添加一個banner.txt就行了,springboot會自動給你加載banner.
一、前言
之前我們對Spring Boot的View和Control配置都有了一定的瞭解,在Model層配置上,我們將使用Mybatis、Druid進行開發,下面就對其進行配置。
二、開始配置
MyBatis 是一款優秀的持久層框架,Druid是一個高效能的資料庫連線池,並且提供
spring boot 整合 jpa (一) – 之基礎配置 https://blog.csdn.net/qq_41463655/article/details/82939481 spring boot 整合 jpa (二) – 之資料操作 https://blog.csdn.net/q
一、FreeMaker介紹
FreeMarker是一款免費的Java模板引擎,是一種基於模板和資料生成文字(HMLT、電子郵件、配置檔案、原始碼等)的工具,它不是面向終端使用者的,而是一款程式設計師使用的元件。
FreeMarker最初設計是用來在MVC模式的Web
spring boot 1.4預設使用 hibernate validator 5.2.4 Final實現校驗功能。hibernate validator 5.2.4 Final是JSR 349 Bean Validation 1.1的具體實現。
一 初步使用
檔案上傳
寫法和Spring MVC沒啥區別看起來
package org.test.Controll;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.we
1.概述
在上一篇中,我們已經學會了如何建立執行一個Spring Boot程式,但是他還遠遠滿足不了一個網站的基本需求,完成這篇的學習後我們就能實現一個簡單的雛形。
2.目標
在本篇中,實現的簡單的資料庫訪問,讀取資料的功能。
3.詳細步驟
(1)在第
域名註冊
百度阿里雲 搜尋框搜素 域名
com 或 cn選一個進去
點選加入清單下方會提示選擇 :需要實名認證才能購買 Spring boot 下的 Spring mvc
@Controller:即為Spring mvc的註解,處理http請求;
@RestController:Spring4後新增註解,是@Controller與@ResponseBody的組合註解,用於返回字串或json資料;
package c
前兩篇部落格演示了廣播式的websocket 推送。
廣播式有自己的應用場景,但是廣播式不能解決我門一個常見的場景,即訊息由誰傳送、由誰接收的問題。
本例中演示了一個簡單的聊天室程式。例子中只有兩個使用者,互相傳送訊息給彼此,因需要使用者相關內容,所以這裡引
註解在Spring中的應用很廣泛,幾乎成為了其標誌,這裡說下使用註解來整合快取。
cache方面的註解主要有以下5個
@Cacheable 觸發快取入口(這裡一般放在建立和獲取的方法上)
@CacheEvict 觸發快取的eviction(用於刪除的
1、Spring Boot的專案一般都會有*Application的入口類,入口類中會有main方法,這是一個標準的Java應用程式的入口方法。
@SpringBootApplication註解是Spring Boot的核心註解,它其實是一個組合註解:下面我們
一.概述
Spring Boot推薦使用java配置完全代替XML配置,java配置是通過@Configration和@Bean註解實現的
@Configration註解聲明當前類是一個配置類,相當於Spring中的一個XML檔案
@Bean註解作用在方法 gmv port ack register repos servle 配置 als img 1.添加對靜態資源.js/.img/.css的訪問
方式有3種:
1,更改springmvc 的DispatherServlet的urlpattern的路徑改為“/*
前言
本章節主要是關注業務實現的,就是持久層資料的CURD操作,和業務處理。 資料: mongoose 文件 其他章節連結:
nodejs web應用伺服器搭建(一):跑起你的伺服器 nodejs web應用伺服器搭建(二):express 框架說明(應用) nodej
一、前言
Spring Boot是Spring系列框架的整合,使用“習慣優於配置”的理念快速搭建專案,在專案打包時還能根據需求打包為jar(內建servlet容器)或war檔案,相對以前的Spring、Spring MVC來說Spring Boot並沒有技術上的升級,而是為我們做好了大部
spring boot 整合 jpa (二) – 之資料操作 https://blog.csdn.net/qq_41463655/article/details/82939560
spring boot 整合 jpa (三) – 之表關係對映 https://blog.csdn.ne 相關推薦
spring boot基礎搭建(三)
Spring Boot實戰筆記(三)-- Spring常用配置(Bean的初始化和銷毀、Profile)
Spring Boot參考教程(三)內部應用監控(Actuator)
spring boot入門筆記 (三) - banner、熱部署、命令行參數
Spring Boot學習筆記(三)—— 新增Mybatis、Druid
spring boot 整合 jpa (三) -- 之表關係對映
Spring Boot 最佳實踐(三)模板引擎FreeMarker整合
Spring boot使用總結(三)校驗[email protected] 使用
Spring Boot學習筆記(三)檔案上傳與訪問靜態檔案
Spring Boot學習筆記(三)——使用JPA查詢資料庫返回需要的資料
CentOS 7 spring boot專案上線(三)
Spring Boot 學習筆記(三)Spring boot 中的SSM
spring boot +WebSocket(三) 點對點式
Spring boot Caffeine快取(三)——使用註解
Spring Boot學習之Spring Boot的核心(三)
Spring Boot常用註解(三)
spring-springmvc搭建(三)springMVC添加對靜態資源訪問的支持及對Fastjson的支持
nodejs web應用伺服器搭建(三):業務的實現+mongo的基礎使用
Spring Boot 學習筆記(一)—— 快速搭建Spring Boot專案
spring boot 整合 jpa (一) -- 之基礎配置