javaweb 項目初始配置的方法步驟
項目初始流程:
首先說一下pom.xml文件的依賴:
<dependencies> <!-- junit 測試 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <!-- web servlet --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> <!-- 日志打印相關的jar --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.2</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.2</version> </dependency> <!-- mysql 驅(qū)動包 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.19</version> </dependency> <!-- json 依賴 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.62</version> </dependency> <!-- hutool工具集 --> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.4.7</version> </dependency> <!-- commons-io 依賴 --> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency> <!-- 添加百度編輯器ueditor支持 --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version> </dependency> <!-- jstl依賴 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!-- lombok插件 --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.12</version> <scope>provided</scope> </dependency> </dependencies> <build> <finalName>lezijie-note</finalName> <plugins> <!-- 編譯環(huán)境插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> <!-- Tomcat插件 --> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.1</version> <configuration> <port>8080</port> <!-- 啟動端口 默認:8080 --> <path>/note</path> <!-- 項目的站點名,即對外訪問路徑 --> <server>tomcat7</server> <!-- 服務器名稱 --> </configuration> </plugin> </plugins> </build> </project>
數(shù)據(jù)庫的建立于一開始的分層:
db.properties:
# 連接MYSQL數(shù)據(jù)庫的配置文件 注:等號的前后不要寫空格 # 驅(qū)動名 jdbcName=com.mysql.cj.jdbc.Driver # 數(shù)據(jù)庫連接 ( db_lezijie_note是數(shù)據(jù)庫的名稱) dbUrl=jdbc:mysql://localhost:3306/db_lezijie_note?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false # 數(shù)據(jù)庫的連接賬號 (賬號基本上都是root) dbName=root # 數(shù)據(jù)庫的連接密碼 (每個人的數(shù)據(jù)庫密碼可能不一致,需要修改) dbPwd=root
首先創(chuàng)建數(shù)據(jù)庫連接的工具類:DBUtil
1:得到配置文件對象:
/** * 得到配置文件對象 */ private static Properties properties = new Properties(); static { try { //加載配置文件(輸入流) InputStream in = DBUtil.class.getClassLoader().getResourceAsStream("db.properties"); // 通過load()方法將數(shù)日六的內(nèi)容加載到配置文件對象中 properties.load(in); // 通過配置文件對象的getProperty()方法獲取驅(qū)動名,拿到驅(qū)動名之后加載驅(qū)動 Class.forName(properties.getProperty("jdbcName")); } catch (Exception e) { e.printStackTrace(); } }
2:獲取數(shù)據(jù)庫連接:
/** * 獲取數(shù)據(jù)庫連接 * @return */ public static Connection getConnection(){ Connection connection = null; try { //得到數(shù)據(jù)庫鏈接的相關性息 String dbUrl = properties.getProperty("dbUrl"); String dbName = properties.getProperty("dbName"); String dbPwd = properties.getProperty("dbPwd"); connection = DriverManager.getConnection(dbUrl,dbName,dbPwd); } catch (SQLException throwables) { throwables.printStackTrace(); } return connection; }
3:關閉資源:
/** * 關閉資源 * @param resultSet * @param preparedStatement * @param connection */ public static void close(ResultSet resultSet, PreparedStatement preparedStatement, Connection connection){ //判斷資源對象如果不為空則關閉 try { if (resultSet != null) { resultSet.close(); } if (preparedStatement != null) { preparedStatement.close(); } if (connection != null) { connection.close(); } }catch (SQLException throwables) { throwables.printStackTrace(); } }
DBUtil類全部代碼:
package com.ftzlovedsj.util; import java.io.IOException; import java.io.InputStream; import java.sql.*; import java.util.Properties; /** * @author ${范濤之} * @Description * @create 2021-11-14 19:02 */ public class DBUtil { /** * 得到配置文件對象 */ private static Properties properties = new Properties(); static { try { //加載配置文件(輸入流) InputStream in = DBUtil.class.getClassLoader().getResourceAsStream("db.properties"); // 通過load()方法將數(shù)日六的內(nèi)容加載到配置文件對象中 properties.load(in); // 通過配置文件對象的getProperty()方法獲取驅(qū)動名,拿到驅(qū)動名之后加載驅(qū)動 Class.forName(properties.getProperty("jdbcName")); } catch (Exception e) { e.printStackTrace(); } } /** * 獲取數(shù)據(jù)庫連接 * @return */ public static Connection getConnection(){ Connection connection = null; try { //得到數(shù)據(jù)庫鏈接的相關性息 String dbUrl = properties.getProperty("dbUrl"); String dbName = properties.getProperty("dbName"); String dbPwd = properties.getProperty("dbPwd"); connection = DriverManager.getConnection(dbUrl,dbName,dbPwd); } catch (SQLException throwables) { throwables.printStackTrace(); } return connection; } /** * 關閉資源 * @param resultSet * @param preparedStatement * @param connection */ public static void close(ResultSet resultSet, PreparedStatement preparedStatement, Connection connection){ //判斷資源對象如果不為空則關閉 try { if (resultSet != null) { resultSet.close(); } if (preparedStatement != null) { preparedStatement.close(); } if (connection != null) { connection.close(); } }catch (SQLException throwables) { throwables.printStackTrace(); } } }
在寫好連接后我們需要寫一個測試類來判斷數(shù)據(jù)庫是否真正連接成功:
然后編寫測試代碼:TestDB類:
package com.ftzlovedsj; import com.ftzlovedsj.util.DBUtil; import org.junit.Test; /** * @author ${范濤之} * @Description * @create 2021-11-14 19:30 */ public class TestDB { /** * 單元測試方法 * 1. 方法的返回值,建議使用void,一般沒有返回值 * 2. 參數(shù)列表,建議空參,一般是沒有參數(shù) * 3. 方法上需要設置@Test注解 * 4. 每個方法都能獨立運行 * * 判定結(jié)果: * 綠色:成功 * 紅色:失敗 */ @Test public void testDB(){ System.out.println(DBUtil.getConnetion()); } }
這里倘若出現(xiàn)了報錯有可能的原因是你沒有在pom文件里面導入mysql連接包:
運行成功后:
使用日志:
使用日志
配置文件
在 src/main/resources 目錄下,新建 log4j.properties 文件
### 設置###stdout, log4j.rootLogger = all,D,E,stdout ### 輸出信息到控制臺 ### log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.appender.stdout.layout = org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n ### 輸出DEBUG 級別以上的日志到=D://logs/log.log ### log4j.appender.D = org.apache.log4j.DailyRollingFileAppender log4j.appender.D.File = D://logs/log.log log4j.appender.D.Append = true log4j.appender.D.Threshold = DEBUG log4j.appender.D.layout = org.apache.log4j.PatternLayout log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n ### 輸出ERROR 級別以上的日志到=E://logs/error.log ### log4j.appender.E = org.apache.log4j.DailyRollingFileAppender log4j.appender.E.File =E://logs/error.log log4j.appender.E.Append = true log4j.appender.E.Threshold = ERROR log4j.appender.E.layout = org.apache.log4j.PatternLayout log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ]
使用方式
// 使用日志工廠類,記入日志 private static Logger logger = LoggerFactory.getLogger(DBUtil.class);
// 記錄日志 logger.info("在{}時,獲取數(shù)據(jù)庫連接", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
TestDB:
package com.ftzlovedsj; import com.ftzlovedsj.util.DBUtil; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * @author ${范濤之} * @Description * @create 2021-11-14 19:30 */ public class TestDB { // 使用日志工廠類,記錄日志 private Logger logger = LoggerFactory.getLogger(TestDB.class); /** * 單元測試方法 * 1. 方法的返回值,建議使用void,一般沒有返回值 * 2. 參數(shù)列表,建議空參,一般是沒有參數(shù) * 3. 方法上需要設置@Test注解 * 4. 每個方法都能獨立運行 * * 判定結(jié)果: * 綠色:成功 * 紅色:失敗 */ @Test public void testDB(){ System.out.println(DBUtil.getConnetion()); //使用日志 logger.info("獲取數(shù)據(jù)庫連接:" + DBUtil.getConnetion()); logger.info("獲取數(shù)據(jù)庫連接:{}", DBUtil.getConnetion()); } }
到此這篇關于javaweb 項目初始配置的方法步驟的文章就介紹到這了,更多相關javaweb 項目初始配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
idea 創(chuàng)建properties配置文件的步驟
這篇文章主要介紹了idea 創(chuàng)建properties配置文件的步驟,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01解決springboot application.properties server.port配置問題
這篇文章主要介紹了解決springboot application.properties server.port配置問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08Spring?Boot的幾種統(tǒng)一處理方式梳理小結(jié)
這篇文章主要為大家介紹了Spring?Boot的幾種統(tǒng)一處理方式梳理小結(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05Mybatis批量插入數(shù)據(jù)返回主鍵的實現(xiàn)
這篇文章主要介紹了Mybatis批量插入數(shù)據(jù)返回主鍵的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-01-01