亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Spring Boot企業(yè)常用的starter示例詳解

 更新時間:2019年12月29日 10:47:18   作者:SimpleWu  
這篇文章主要給大家介紹了關(guān)于Spring Boot企業(yè)常用starter的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Spring Boot具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧

SpringBoot簡介#

Spring Boot是由Pivotal團隊提供的全新框架,其設(shè)計目的是用來簡化新Spring應(yīng)用的初始搭建以及開發(fā)過程。該框架使用了特定的方式來進行配置,從而使開發(fā)人員不再需要定義樣板化的配置。通過這種方式,Boot致力于在蓬勃發(fā)展的快速應(yīng)用開發(fā)領(lǐng)域(rapid application development)成為領(lǐng)導(dǎo)者。

Spring Boot讓我們的Spring應(yīng)用變的更輕量化。比如:你可以僅僅依靠一個Java類來運行一個Spring引用。你也可以打包你的應(yīng)用為jar并通過使用java -jar來運行你的Spring Web應(yīng)用。

Spring Boot的主要優(yōu)點:

  • 為所有Spring開發(fā)者更快的入門
  • 開箱即用,提供各種默認配置來簡化項目配置
  • 內(nèi)嵌式容器簡化Web項目
  • 沒有冗余代碼生成和XML配置的要求

在下面的代碼中只要有一定基礎(chǔ)會發(fā)現(xiàn)這寫代碼實例非常簡單對于開發(fā)者來說幾乎是“零配置”。

SpringBoot運行#

開發(fā)工具:jdk8,IDEA,STS,eclipse(需要安裝STS插件)這些都支持快速啟動SpringBoot工程。我這里就不快速啟動了,使用maven工程。學(xué)習(xí)任何一項技術(shù)首先就要精通HelloWord,那我們來跑個初體驗。

首先只用maven我們創(chuàng)建的maven工程直接以jar包的形式創(chuàng)建就行了,首先我們來引入SpringBoot的依賴

首先我們需要依賴SpringBoot父工程,這是每個項目中必須要有的。

<!--引入SpringBoot父依賴-->
<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>2.0.5.RELEASE</version>
  <relativePath/> 
</parent>
<!--編碼與JAVA版本-->
<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  <java.version>1.8</java.version>
</properties>

我們啟動WEB模塊當(dāng)然必須要引入WEB模塊的依賴

<dependencies>
  <!--引入SpringBoot-WEB模塊-->
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
 </dependencies>

我們需要編寫一個SpringBoot啟動類,SpringbootFirstExperienceApplication.java

@SpringBootApplication
public class SpringbootFirstExperienceApplication {

 public static void main(String[] args) {
  SpringApplication.run(SpringbootFirstExperienceApplication.class, args);
 }
}

到了這里我們直接把他當(dāng)成SpringMVC來使用就行了,不過這里默認是不支持JSP官方推薦使用模板引擎,后面會寫到整合JSP。這里我就不寫Controller了。

@SpringBootApplication:之前用戶使用的是3個注解注解他們的main類。分別是@Configuration,@EnableAutoConfiguration,@ComponentScan。由于這些注解一般都是一起使用,spring boot提供了一個統(tǒng)一的注解@SpringBootApplication。

注意事項:我們使用這個注解在不指定掃描路徑的情況下,SpringBoot只能掃描到和SpringbootFirstExperienceApplication同包或子包的Bean;

SpringBoot目錄結(jié)構(gòu)#

在src/main/resources中我們可以有幾個文件夾:

templates:用來存儲模板引擎的,Thymeleaf,F(xiàn)reeMarker,Velocity等都是不錯的選擇。

static:存儲一些靜態(tài)資源,css,js等

public:在默認SpringBoot工程中是不生成這個文件夾的,但是在自動配置中我們可以有這個文件夾用來存放公共的資源(html等)

application.properties:這個文件名字是固定的,SpringBoot啟動會默認加載這些配置在這里面可以配置端口號,訪問路徑,數(shù)據(jù)庫連接信息等等。這個文件非常重要,當(dāng)然官方中推出了一個yml格式這是非常強大的數(shù)據(jù)格式。

整合JdbcTemplate#

引入依賴:

 <parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>1.5.2.RELEASE</version>
 </parent>
 <dependencies>
  <!--引入WEB模塊-->
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
   <!--引入JDBC模塊-->
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-jdbc</artifactId>
  </dependency>
   <!--引入數(shù)據(jù)庫驅(qū)動-->
  <dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
  </dependency>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-test</artifactId>
   <scope>test</scope>
  </dependency>
 </dependencies>

配置application.properties,雖然說是“零配置”但是這些必要的肯定要指定,否則它怎么知道連那個數(shù)據(jù)庫?

spring.datasource.url=jdbc:mysql://localhost:3306/mybatis
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

使用方式:

@Service
public class EmployeeService {
 @Autowired
 private JdbcTemplate jdbcTemplate;
 
 public boolean saveEmp(String name,String email,String gender){
  String sql = "insert into tal_employee values(null,?,?,?)";
  int result = jdbcTemplate.update(sql, name,email,gender);
  System.out.println("result : " + result);
  return result > 0 ? true:false;
 }
}
@RestController
public class EmployeeController {
 
 @Autowired
 private EmployeeService employeeService;
 
 @RequestMapping("/save")
 public String insert(String name,String email,String gender){
  boolean result = employeeService.saveEmp(name, email, gender);
  if(result){
   return "success";
  }
  return "error";
 }
}

這里我們直接返回一個文本格式。

@RestController#

在上面的代碼中我們使用到這個注解修改我們的Controller類而是不使用@Controller這個注解,其實中包含了@Controller,同時包含@ResponseBody既然修飾在類上面那么就是表示這個類中所有的方法都是@ResponseBody所以在這里我們返回字符串在前臺我們會以文本格式展示,如果是對象那么它會自動轉(zhuǎn)換成json格式返回。

整合JSP#

在創(chuàng)建整合JSP的時候指定要選WAR,一定要選WAR。

引入依賴:

<parent>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-parent</artifactId>
 <version>1.5.2.RELEASE</version>
</parent>
<dependencies>
 <!-- SpringBoot WEB組件 -->
 <dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
 </dependency>
 <!-- 整合JSP依賴 -->
 <dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-tomcat</artifactId>
 </dependency>
 <dependency>
  <groupId>org.apache.tomcat.embed</groupId>
  <artifactId>tomcat-embed-jasper</artifactId>
 </dependency>
</dependencies>

然后我們只需要配置試圖解析器路徑就可以了。

#配置試圖解析器前綴
spring.mvc.view.prefix=/WEB-INF/views/
#配置試圖解析器后綴
spring.mvc.view.suffix=.jsp

整合JPA#

同樣的整合JPA我們只需要啟動我們SpringBoot已經(jīng)集成好的模塊即可。

添加依賴:

<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>1.5.2.RELEASE</version>
 </parent>
 <dependencies>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
  <!--啟動JPA組件-->
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-data-jpa</artifactId>
  </dependency>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-test</artifactId>
   <scope>test</scope>
  </dependency>
  <dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
  </dependency>
 </dependencies>

啟動JPA組件后直接配置數(shù)據(jù)庫連接信息就可以使用JPA功能。

Application.properties

spring.datasource.url=jdbc:mysql://localhost:3306/mybatis
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

實體類:Employee.java

@Table(name="tal_employee")
@Entity
public class Employee implements Serializable{
 @Id
 @GeneratedValue(strategy = GenerationType.AUTO)
 private Integer id;
 @Column(name="last_Name")
 private String lastName;
 private String email;
 private String gender;
 //get set 省略
}

EmployeeDao接口:

public interface EmployeeDao extends JpaRepository<Employee, Integer>{
}

EmployeeController.java:

@Controller
public class EmployeeController {
 @Autowired
 private EmployeeDao employeeDao;

 @ResponseBody
 @RequestMapping("/emps")
 public List<Employee> getEmployees(){
  List<Employee> employees = employeeDao.findAll();
  System.out.println(employees);
  return employees;
 }
}

整合MyBatis#

引入依賴:

<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>1.5.2.RELEASE</version>
 </parent>
 <dependencies>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
  <!--引入對JDBC的支持-->
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-jdbc</artifactId>
  </dependency>
   <!--引入對logging的支持-->
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-logging</artifactId>
  </dependency>
  <!-- SpringBoot MyBatis啟動器 -->
  <dependency>
   <groupId>org.mybatis.spring.boot</groupId>
   <artifactId>mybatis-spring-boot-starter</artifactId>
   <version>1.2.2</version>
  </dependency>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-test</artifactId>
   <scope>test</scope>
  </dependency>
  <dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
  </dependency>
 </dependencies>

配置application.properties

spring.datasource.url=jdbc:mysql://localhost:3306/mybatis
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
##############datasource classpath 數(shù)據(jù)連接池地址##############
#spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

#指定我們的mapper.xml位置
mybatis.mapper-locations=classpath:com/simple/springboot/mybatis/dao/mapper/*.xml
#entity.class 指定我們實體類所在包位置
mybatis.type-aliases-package=com.simple.springboot.mybatis.entity

當(dāng)然這里還有很多屬性如果想要使用可以參考官方文檔。到了這里其他就不寫了,把他當(dāng)作SSM使用就ok。

注意事項:在我們的Dao層接口中一定要在類上加上注解@Mapper否則無法掃描到。

AOP功能使用#

在我們SpringBoot中使用AOP非常簡單。

package com.simple.springboot.aop;

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.AfterThrowing;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;

@Aspect
@Component
public class SpringBootAspect {
 
 /**
  * 定義一個切入點
  * @author:SimpleWu
  * @Date:2018年10月12日
  */
 @Pointcut(value="execution(* com.simple.springboot.util.*.*(..))")
 public void aop(){}
 
 /**
  * 定義一個前置通知
  * @author:SimpleWu
  * @Date:2018年10月12日
  */
 @Before("aop()")
 public void aopBefore(){
  System.out.println("前置通知 SpringBootAspect....aopBefore");
 }
 
 /**
  * 定義一個后置通知
  * @author:SimpleWu
  * @Date:2018年10月12日
  */
 @After("aop()")
 public void aopAfter(){
  System.out.println("后置通知 SpringBootAspect....aopAfter");
 }
 
 /**
  * 處理未處理的JAVA異常
  * @author:SimpleWu
  * @Date:2018年10月12日
  */
 @AfterThrowing(pointcut="aop()",throwing="e")
 public void exception(Exception e){
  System.out.println("異常通知 SpringBootAspect...exception .." + e);
 }
 
 /**
  * 環(huán)繞通知
  * @author:SimpleWu
  * @throws Throwable 
  * @Date:2018年10月12日
  */
 @Around("aop()")
 public void around(ProceedingJoinPoint invocation) throws Throwable{
  System.out.println("SpringBootAspect..環(huán)繞通知 Before");
  invocation.proceed();
  System.out.println("SpringBootAspect..環(huán)繞通知 After");
 }
}

任務(wù)調(diào)度#

SpringBoot已經(jīng)集成好一個調(diào)度功能。

@Component
public class ScheduledTasks {
 private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
 
 /**
  * 任務(wù)調(diào)度,每隔5秒執(zhí)行一次
  * @author:SimpleWu
  * @Date:2018年10月12日
  */
 
 @Scheduled(fixedRate = 1000)
 public void reportCurrentTime() {
  System.out.println("現(xiàn)在時間:" + dateFormat.format(new Date()));
 }
}

然后啟動的時候我們必須要在主函數(shù)類上加上注解:@EnableScheduling(翻譯過來就是開啟調(diào)度)

/**
 * SpringBoot使用任務(wù)調(diào)度
 * @EnableScheduling標(biāo)注程序開啟任務(wù)調(diào)度
 * @author :SimpleWu
 * @Date:2018年10月12日
 */

@SpringBootApplication
@EnableScheduling
public class App {
 public static void main(String[] args) {
  SpringApplication.run(App.class, args);
 }
}

整合RabbitMq#

安裝RabbitMq

由于RabbitMQ依賴Erlang, 所以需要先安裝Erlang。

sudo yum install -y make gcc gcc-c++ m4 openssl openssl-devel ncurses-devel unixODBC unixODBC-devel java java-devel
sudo yum install epel-release
sudo yum install erlang
sudo yum install socat

下載RabbitMQ,并且安裝

sudo wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-3.6.15-1.el7.noarch.rpm
sudo yum install rabbitmq-server-3.6.15-1.el7.noarch.rpm

進入cd /etc/rabbitmq/ 創(chuàng)建vim rabbitmq.config

[{rabbit, [{loopback_users, []}]}].

這里的意思是開放使用,rabbitmq默認創(chuàng)建的用戶guest,密碼也是guest,這個用戶默認只能是本機訪問,localhost或者127.0.0.1,從外部訪問需要添加上面的配置。如果沒有找到清除日志

rm rabbit\@rabbit@localhost-sasl.log

最好還是直接sudo rabbitmqctl set_user_tags root administrator ,給root用戶賦值管理員權(quán)限
RabbitMQ,基本操作

# 添加開機啟動RabbitMQ服務(wù)
systemctl enable rabbitmq-server.service
# 查看服務(wù)狀態(tài)
systemctl status rabbitmq-server.service
# 啟動服務(wù)
systemctl start rabbitmq-server.service
# 停止服務(wù)
systemctl stop rabbitmq-server.service
# 查看當(dāng)前所有用戶
rabbitmqctl list_users
# 查看默認guest用戶的權(quán)限
rabbitmqctl list_user_permissions guest
# 由于RabbitMQ默認的賬號用戶名和密碼都是guest。為了安全起見, 先刪掉默認用戶
rabbitmqctl delete_user guest
# 添加新用戶
rabbitmqctl add_user username password
# 設(shè)置用戶tag
rabbitmqctl set_user_tags username administrator
# 賦予用戶默認vhost的全部操作權(quán)限
rabbitmqctl set_permissions -p / username ".*" ".*" ".*"
# 查看用戶的權(quán)限
rabbitmqctl list_user_permissions username

如果只從命令行操作RabbitMQ,多少有點不方便。幸好RabbitMQ自帶了web管理界面,只需要啟動插件便可以使用。

rabbitmq-plugins enable rabbitmq_management

訪問: http://服務(wù)器IP:15672

整合RabbitMq

導(dǎo)入Maven依賴

<!--SpringBoot2.x-->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.4.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
<!--設(shè)置JAVA版本-->
<properties>
    <java.version>1.8</java.version>
</properties>
<!--引入依賴-->
<dependencies>
    <!--啟動RabbitmQ-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-amqp</artifactId>
    </dependency>
    <!--啟動WEB-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!--啟動TEST-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
</dependencies>

設(shè)置application.properties配置文件

spring.application.name=springboot-rabbitmq
#RabbitMq所在服務(wù)器IP
spring.rabbitmq.host=192.168.197.133
#連接端口號
spring.rabbitmq.port=5672
#用戶名
spring.rabbitmq.username=root
#用戶密碼
spring.rabbitmq.password=123456
# 開啟發(fā)送確認
spring.rabbitmq.publisher-confirms=true
# 開啟發(fā)送失敗退回
spring.rabbitmq.publisher-returns=true
spring.rabbitmq.virtual-host=/

創(chuàng)建RabbitMq隊列初始化類,初始化隊列

/**
 * @author SimpleWu
 * @Date 2019-05-17
 * 該類初始化隊列
 */
@Configuration
public class RabbitMqInitialization {

  /**
   * 創(chuàng)建隊列 隊列名字為SayQueue
   * @return
   */
  @Bean
  public Queue SayQueue() {
    return new Queue("SayQueue");
  }

}

創(chuàng)建生產(chǎn)者

/**
 * @author SimpleWu
 * @Date 2019-05-17
 * 生產(chǎn)者
 */
@Component
public class SayProducer {

  @Autowired
  private RabbitTemplate rabbitTemplate;

  public void send(String name){
    String sendMsg = "hello:  " + name + "  " + new Date();
    //指定隊列
    this.rabbitTemplate.convertAndSend("SayQueue", sendMsg);
  }
}

創(chuàng)建消費者

@RabbitListener:當(dāng)監(jiān)聽到隊列 SayQueue 中有消息時則會進行接收并處理

@RabbitHandler :標(biāo)注在類上面表示當(dāng)有收到消息的時候,就交給 @RabbitHandler 的方法處理,具體使用哪個方法處理,根據(jù) MessageConverter 轉(zhuǎn)換后的參數(shù)類型

/**
 * @author SimpleWu
 * @Date 2019-05-17
 * 消費者
 * queues 指定監(jiān)聽的隊列
 */

@Component
@RabbitListener(queues = "SayQueue")
public class SayConsumer {

  @RabbitHandler
  public void process(String hello) {
    System.out.println("SayConsumer : " + hello);
  }

}

創(chuàng)建接口進行測試

@RestController
public class SayController {

  @Autowired
  private SayProducer sayProducer;

  @RequestMapping("/send/{name}")
  public String send(@PathVariable String name){
    sayProducer.send(name);
    return "Send Succcess SimpleWu";
  }

}

啟動類就用IDEA默認生成的就好了。

http://10.192.132.22:8080/send/First 發(fā)送請求

消費者接受消息:SayConsumer : hello: First Tue May 07 17:57:02 CST 2019

注:在傳輸對象時一定要序列化

整合郵件發(fā)送#

導(dǎo)入依賴

<!--啟動郵箱發(fā)送依賴-->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

配置Properties文件

#根據(jù)類型配置
spring.mail.host=smtp.qq.com
spring.mail.port=465
spring.mail.username=450255266@qq.com
#對于qq郵箱而言 密碼指的就是發(fā)送方的授權(quán)碼
spring.mail.password=看不見我-0-
spring.mail.protocol=smtp
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.ssl.enable=true
spring.mail.default-encoding=UTF-8
#是否用啟用加密傳送的協(xié)議驗證項
#注意:在spring.mail.password處的值是需要在郵箱設(shè)置里面生成的授權(quán)碼,這個不是真實的密碼。

spring.mail.host 需要根據(jù)不同的郵箱類型配置不同的服務(wù)器地址

發(fā)送郵箱

/**
 * @author SimpleWu
 * @data 2019=05-17
 * 發(fā)送郵件
 */
@Component
public class EmailService {
  @Autowired
  private JavaMailSender javaMailSender;

  public void sendSimpleMail(){
    MimeMessage message = null;
    try {
      message = javaMailSender.createMimeMessage();
      MimeMessageHelper helper = new MimeMessageHelper(message, true);
      helper.setFrom("450255266@qq.com");
      helper.setTo("450255266@qq.com");
      helper.setSubject("標(biāo)題:發(fā)送Html內(nèi)容");

      StringBuffer context = new StringBuffer();
      context.append("<p style='color:red'>");
      context.append("Hello SpringBoot Email Start SimpleWu!!");
      context.append("</p>");
      helper.setText(context.toString(),true);//設(shè)置true發(fā)送html郵件

      //帶附件
      //FileSystemResource fileSystemResource=new FileSystemResource(new File("D:\2019-05-07.pdf"));
      //helper.addAttachment("郵箱附件",fileSystemResource);
      javaMailSender.send(message);
    } catch (MessagingException e) {
      e.printStackTrace();
    }
  }
}

注:最好使用異步接口發(fā)送郵件,并且發(fā)送郵件的服務(wù)器為單獨部署。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。

相關(guān)文章

  • Springboot整合thymleaf模板引擎過程解析

    Springboot整合thymleaf模板引擎過程解析

    這篇文章主要介紹了Springboot整合thymleaf模板引擎過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • Java實現(xiàn)將文件或者文件夾壓縮成zip的詳細代碼

    Java實現(xiàn)將文件或者文件夾壓縮成zip的詳細代碼

    這篇文章主要介紹了Java實現(xiàn)將文件或者文件夾壓縮成zip的詳細代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-11-11
  • JVM常見垃圾收集器學(xué)習(xí)指南

    JVM常見垃圾收集器學(xué)習(xí)指南

    這篇文章主要為大家介紹了JVM常見垃圾收集器學(xué)習(xí)指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • 初學(xué)者,Spring快速入門

    初學(xué)者,Spring快速入門

    本文主要講解了Spring框架的基礎(chǔ)知識,Spring是一個輕量級的開源框架,它是為簡化企業(yè)級應(yīng)用開發(fā)而生。文中運用代碼非常詳細的介紹了相關(guān)知識,需要了解的小伙伴可以參考一下哦
    2021-09-09
  • xml 的特殊字符的處理方法

    xml 的特殊字符的處理方法

    在xml中,有一些符號作為XML 的標(biāo)記符號,一些特定情況下,屬性值必須帶有這些特殊符號?!∠旅嬷饕侵v解一些常用的特殊符號的處理
    2016-07-07
  • 輕松掌握Java觀察者模式

    輕松掌握Java觀察者模式

    這篇文章主要幫助大家輕松掌握Java觀察者模式,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • java 正則,object中兩個方法的使用(詳解)

    java 正則,object中兩個方法的使用(詳解)

    下面小編就為大家?guī)硪黄猨ava 正則,object中兩個方法的使用(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • SpringBoot+TestNG單元測試的實現(xiàn)

    SpringBoot+TestNG單元測試的實現(xiàn)

    本文主要介紹了SpringBoot+TestNG單元測試的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • Java序列化機制詳解

    Java序列化機制詳解

    Java 序列化機制是一種將對象轉(zhuǎn)換為字節(jié)流的過程,以便在網(wǎng)絡(luò)上傳輸或保存到文件中,并能在需要時將字節(jié)流還原為對象,這一機制通過實現(xiàn) java.io.Serializable 接口來實現(xiàn),同時涉及到一些關(guān)鍵概念和注意事項,需要的朋友可以參考下
    2023-12-12
  • Java8新特性之Stream API詳解

    Java8新特性之Stream API詳解

    這篇文章主要介紹了Java8新特性之StreamAPI詳解,文中有非常詳細的代碼示例,對正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04

最新評論