<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 獨立的 Spring 應用 > 原文: [http://zetcode.com/articles/standalonespring/](http://zetcode.com/articles/standalonespring/) 在本教程中,我們將創建兩個簡單的 Java Spring 獨立應用。 我們將使用 NetBeans 來構建應用。 Spring 是流行的 Java 應用框架。 它提供了用于企業應用編程的各種庫和工具。 這也是一個非常好的集成系統,可以幫助將各種企業組件粘合在一起。 Spring `ApplicationContext`是用于為應用提供配置的中央接口。 `ClassPathXmlApplicationContext`是`ApplicationContext`的實現,該實現從位于類路徑上的 XML 文件加載配置定義。 `AnnotationConfigApplicationContext`創建一個新的應用上下文,該上下文從給定的帶注解的類派生 Bean 定義。 `pom.xml` ```java <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.zetcode</groupId> <artifactId>SpringStandaloneEx2</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <spring-version>4.3.0.RELEASE</spring-version> </properties> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${spring-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring-version}</version> </dependency> </dependencies> </project> ``` 我們將 Maven 構建文件用于兩個應用。 它包含必要的 Spring 依賴關系。 ## 具有`ClassPathXmlApplicationContext`的 Spring 應用 我們在 NetBeans IDE 中創建一個新的 Maven Java SE 應用。 ![Spring project structure in NetBeans](https://img.kancloud.cn/a1/76/a1765781ee55845e9ce7b3eba1b70d8a_214x253.jpg) 圖:NetBeans 中的 Spring 項目結構 在項目中,有四個文件:`Message.java`,`Application.java`,`my-beans.xml`和`pom.xml`。 `Message.java` ```java package com.zetcode.bean; public class Message { private String message; public void setMessage(String message){ this.message = message; } public String getMessage(){ return message; } } ``` `Message`是我們的應用中使用的簡單 Java Bean。 `my-beans.xml` ```java <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="mymessage" class="com.zetcode.bean.Message"> <property name="message" value="Hello there!"/> </bean> </beans> ``` 我們將`Message`類制成 Spring Bean; 現在,它由 Spring 容器管理。 我們還為`message`屬性提供了一個值。 `my-beans.xml`位于`src/main/resources`子目錄中。 `Application.java` ```java package com.zetcode.main; import com.zetcode.bean.Message; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Application { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("my-beans.xml"); Message obj = (Message) context.getBean("mymessage"); String msg = obj.getMessage(); System.out.println(msg); } } ``` `Application`設置 Spring 應用。 ```java ApplicationContext context = new ClassPathXmlApplicationContext("my-beans.xml"); ``` 從`my-beans.xml`文件,創建`ApplicationContext`。 ```java Message obj = (Message) context.getBean("mymessage"); ``` 從應用上下文中,我們檢索`Message` bean。 ```java String msg = obj.getMessage(); System.out.println(msg); ``` 我們調用 bean 的`getMessage()`方法,并將消息打印到控制臺。 ```java Hello there! ``` 這是應用的輸出。 ## 具有`AnnotationConfigApplicationContext`的 Spring 應用 在第二個示例中,我們將使用`AnnotationConfigApplicationContext`創建 Spring `ApplicationContext`。 `Message.java` ```java package com.zetcode.bean; import org.springframework.stereotype.Component; @Component public class Message { private String message = "Hello there!"; public void setMessage(String message){ this.message = message; } public String getMessage(){ return message; } } ``` `Message` bean 用`@Component`注解修飾。 此類由 Spring 自動檢測。 `Application.java` ```java package com.zetcode.main; import com.zetcode.bean.Message; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.ComponentScan; @ComponentScan(basePackages = "com.zetcode") public class Application { public static void main(String[] args) { ApplicationContext context = new AnnotationConfigApplicationContext(Application.class); Application p = context.getBean(Application.class); p.start(); } @Autowired private Message message; private void start() { System.out.println("Message: " + message.getMessage()); } } ``` 這是主要的`Application`類。 ```java @ComponentScan(basePackages = "com.zetcode") ``` 使用`@ComponentScan`注解,我們告訴 Spring 在哪里尋找組件。 ```java ApplicationContext context = new AnnotationConfigApplicationContext(Application.class); ``` `ApplicationContext`由注解創建。 ```java @Autowired private Message message; private void start() { System.out.println("Message: " + message.getMessage()); } ``` 使用`@Autowired`注解,`Message` bean 被注入到`message`變量中。 在本教程中,我們創建了兩個獨立的 Spring 應用。 第一個使用 XML 文件,第二個使用注解。 您可能也對相關教程感興趣: [Spring Web 應用簡介](/articles/springwebfirst/), [Spring Boot 優先 Web 應用](/articles/springbootwebfirst/)或 [Java 教程](/lang/java/)。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看