Spring Framework

시작하기

필요조건

스프링 아키텍처

Simple Spring Code

package com.okdevtv.okspring;

public class HelloWorld {
  private String message;

  public void setMessage(String message) {
    this.message = message;
  }

  public String getMessage() {
    return this.message;
  }
}
package com.okdevtv.okspring;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class MainApp {
    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");
        HelloWorld obj = (HelloWorld) context.getBean("helloWorld");
        String message = obj.getMessage();
        System.out.println("Your Message : " + message);
    }
}
<?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-3.0.xsd">

    <bean id="helloWorld" class="com.okdevtv.okspring.HelloWorld">
        <property name="message" value="# Hello World!" />
    </bean>

</beans>
<?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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.okdevtv</groupId>
    <artifactId>okspring</artifactId>
    <name>okspring</name>
    <version>1.0.0-BUILD-SNAPSHOT</version>
    <properties>
        <java-version>1.8</java-version>
        <org.springframework-version>3.1.1.RELEASE</org.springframework-version>
        <failOnMissingWebXml>false</failOnMissingWebXml>
    </properties>
    <dependencies>
        <!-- Spring -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${org.springframework-version}</version>
        </dependency>
    </dependencies>
</project>

Bean scope

example

<bean id="..." class="..." scope="singleton">
</bean>

Bean lifecycle

public class ExampleBean implements InitializingBean {
  public void afterPropertiesSet() {
      // do some initialization work
  }
}
public class ExampleBean implements DisposableBean {
  public void destroy() {
      System.out.println("destroy");
  }
}

related

참고

What Else?