<commit_before>---
title: Spring Bean
description: >-
  Automate your task for sending email notification with PowerShell script and
  Windows SMTP Client.
keywords: >-
  software build automation, send email notification, using smtp client in
  powershell, software build notification
tags:
  - Spring
comments: true
published: true
---
<a href="/spring/">Spring</a> >>
<a href="/spring/spring_page1/">Spring 簡介</a> >>
<a href="/spring/spring_page2/">Spring Container</a> >> <a href="/spring/spring_page3/" style="color:palevioletred;background-color:papayawhip;">Spring Beans</a> >> <a href="/spring/spring_page4/">Dependency Injection</a>
<div class="divider"></div>

### 何謂 Spring Bean?

Spring Bean 是物件，這些 Bean 是整個 Spring 應用程式的骨幹，而且被 Spring 的 IOC container 集中管理，這些 Bean 透過我們餵給 Spring container 的設定資料而被建立出來，上一個範例的過程就可以解釋這一點 : 我們先定義了一個 HelloSpring 的物件，然後透過 ApplicationContext(Spring container) 來將 Bean.xml 餵給它處理，有了 Bean.xml 的設定資料，Spring container 便會產生並初始化該 Spring Bean 供我們使用，而這些被 Spring container 建立出來的 Spring Bean 跟一般的 Java Bean 其實大同小異(Spring Bean 也有建構子、getter 和 setter 但它不需要實作 java.io.Serializable.)，甚至可以不用太去在意名詞上的不同，因為說穿了它其實就只是被 Spring container 管理的物件而已。

### 定義 Bean 的屬性

在上一個範例中，我們有在 Bean.xml 裡定義了 Bean 的屬性 :

Bean.xml
```
<?xml version="1.0" encoding="UTF-8"?><commit_msg>Update spring_page3.md<commit_after>---
title: Spring Bean
description: >-
  Automate your task for sending email notification with PowerShell script and
  Windows SMTP Client.
keywords: >-
  software build automation, send email notification, using smtp client in
  powershell, software build notification
tags:
  - Spring
comments: true
published: true
---
<a href="/spring/">Spring</a> >>
<a href="/spring/spring_page1/">Spring 簡介</a> >>
<a href="/spring/spring_page2/">Spring Container</a> >> <a href="/spring/spring_page3/" style="color:palevioletred;background-color:papayawhip;">Spring Beans</a> >> <a href="/spring/spring_page4/">Dependency Injection</a>
<a href="/spring/spring_mvc_page01/">Spring MVC介紹</a>
<div class="divider"></div>

### 何謂 Spring Bean?

Spring Bean 是物件，這些 Bean 是整個 Spring 應用程式的骨幹，而且被 Spring 的 IOC container 集中管理，這些 Bean 透過我們餵給 Spring container 的設定資料而被建立出來，上一個範例的過程就可以解釋這一點 : 我們先定義了一個 HelloSpring 的物件，然後透過 ApplicationContext(Spring container) 來將 Bean.xml 餵給它處理，有了 Bean.xml 的設定資料，Spring container 便會產生並初始化該 Spring Bean 供我們使用，而這些被 Spring container 建立出來的 Spring Bean 跟一般的 Java Bean 其實大同小異(Spring Bean 也有建構子、getter 和 setter 但它不需要實作 java.io.Serializable.)，甚至可以不用太去在意名詞上的不同，因為說穿了它其實就只是被 Spring container 管理的物件而已。

### 定義 Bean 的屬性

在上一個範例中，我們有在 Bean.xml 裡定義了 Bean 的屬性 :

Bean.xml
```
<?xml version="1.0" encoding="UTF-8"?>
{'fraction_non_alphanumeric': 0.11885714285714286, 'fraction_numerical': 0.0064761904761904765, 'mean_word_length': 5.768041237113402, 'pattern_counts': {'":': 0, '<': 31, '<?xml version=': 2, '>': 51, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 10}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3705889', 'n_tokens_mistral': 1189, 'n_tokens_neox': 1218, 'n_words': 247}