1. 程式人生 > >[03] Spring "Hello World"

[03] Spring "Hello World"

solver Coding odi 裝配 get ati pattern dea str

0、寫在前面的話

本篇以一個簡單的示例,描述了Spring通過容器對於Java類的裝載和獲取。在以下我們可以看到,有一個Java類Coder,我們全程並沒有手動調用new來進行實例化,而是從Spring的容器ApplicationContext中去獲取到了該類的實例化對象

1、使用Maven建立Spring項目

技術分享圖片
  1. <dependencies>
  2. <dependency>
  3. <groupId>org.springframework</groupId>
  4. <artifactId>spring-context</artifactId>
  5. <version>4.3.16.RELEASE</version>
  6. </dependency>
  7. </dependencies>

使用maven建立項目,按Spring官方提供的dependency,IDE自動會下載關聯Spring的相關核心包,如下圖:技術分享圖片

2、建立一個簡單的Java類

  1. public class Coder {
  2. private String name;
  3. private int age;
  4. public void print(){
  5. System.out.println("Hello World"
    );
  6. }
  7. public String getName() {
  8. return name;
  9. }
  10. public void setName(String name) {
  11. this.name = name;
  12. }
  13. public int getAge() {
  14. return age;
  15. }
  16. public void setAge(int age) {
  17. this.age = age;
  18. }
  19. }

3、建立Spring的配置文件

對於IDEA而言,pom.xml已經配置了Spring的依賴,那麽在新建Spring的配置文件時,可以直接通過IDEA創建最基礎的配置文件:技術分享圖片
然後配置Java類的bean:
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
  5. <bean id="coder" class="dulk.learn.spring.Coder"></bean>
  6. </beans>

4、初始化容器,獲取實例

Spring提供了多種初始化容器的方式,其中最常見的有兩種:
  • BeanFactory,早期的JavaBean工廠類實現(不推薦
  • ApplicationContext,對BeanFactory的擴展,提供了更多的功能,如國際化處理、Bean自動裝配等

BeanFactory
  1. public class Test {
  2. public static void main(String[] args) {
  3. //BeanFactory
  4. ResourcePatternResolver rpt = new PathMatchingResourcePatternResolver();
  5. Resource resource = rpt.getResource("/applicationContext.xml");
  6. BeanFactory bf = new XmlBeanFactory(resource);
  7. Coder coder = (Coder) bf.getBean("coder");
  8. coder.print();
  9. }
  10. }

ApplicationContext
  1. public class Test {
  2. public static void main(String[] args) {
  3. //ApplicationContext
  4. ApplicationContext ac = new ClassPathXmlApplicationContext("/applicationContext.xml");
  5. Coder coder = (Coder) ac.getBean("coder");
  6. coder.print();
  7. }
  8. }

技術分享圖片

[03] Spring "Hello World"