스프링 프레임웍 은 유연하게 결합한 웹 응용프로그램을 구축하는데 도움을 준다.
MVC (모델뷰컨트롤러) 디자인패턴은 비지니스로직, 프리센테이션 로직 과 탐색로직을 분리
구현하는데 도움이 된다.
2011년 11월 20일 일요일
2011년 11월 19일 토요일
SpringFramework Java Config Import Example
UserConfig.java
package com.domain;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.domain.User;
@Configuration
public class UserConfig {
@Bean (name="user")
public User user (){
return new User();
}
}
ProductConfig.java
package com.domain;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.domain.Product;
@Configuration
public class ProductConfig {
@Bean (name="product")
public Product product (){
return new Product();
}
}
AppConfig.java
package com.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
@Configuration
@Import ({UserConfig.class,ProductConfig.class})
public class AppConfig {
}
MainApp.java
package com.domain;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import com.config.AppConfig;
public class MainApp {
public static void main(String[] args) {
// ApplicationContext context =
// new ClassPathXmlApplicationContext ("beans.xml");
ApplicationContext context =
new AnnotationConfigApplicationContext (AppConfig.class);
User user = (User) context.getBean ("user");
user.printMsg ("User Message");
Product product = (Product) context.getBean ("product");
product.printMsg ("Product Message");
}
}
User.java and Product.java
public class User {
public void printUser(String message){
System.out.println ("User Message : " + message);
}
}
또는 XML 로 처리 할수 있다
<?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">
<import resource="User.xml"/>
<import resource="Product.xml"/>
</beans>
package com.domain;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.domain.User;
@Configuration
public class UserConfig {
@Bean (name="user")
public User user (){
return new User();
}
}
ProductConfig.java
package com.domain;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.domain.Product;
@Configuration
public class ProductConfig {
@Bean (name="product")
public Product product (){
return new Product();
}
}
AppConfig.java
package com.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
@Configuration
@Import ({UserConfig.class,ProductConfig.class})
public class AppConfig {
}
MainApp.java
package com.domain;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import com.config.AppConfig;
public class MainApp {
public static void main(String[] args) {
// ApplicationContext context =
// new ClassPathXmlApplicationContext ("beans.xml");
ApplicationContext context =
new AnnotationConfigApplicationContext (AppConfig.class);
User user = (User) context.getBean ("user");
user.printMsg ("User Message");
Product product = (Product) context.getBean ("product");
product.printMsg ("Product Message");
}
}
User.java and Product.java
public class User {
public void printUser(String message){
System.out.println ("User Message : " + message);
}
}
또는 XML 로 처리 할수 있다
<?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">
<import resource="User.xml"/>
<import resource="Product.xml"/>
</beans>
2011년 11월 18일 금요일
SpringFramework JavaConfiguration Example
HelloWorld.java
pakage com.domain.xxx;
public interface HelloWorld {
void printHelloWorld (String message);
}
HelloWorldImpl.java
public class HelloWorldImpl implements HelloWorld {
@Override
public void printHelloWorld (String message){
System.out.println ("Sring 3 : java Configuration Example Message : " + message);
}
}
AppConfig.java
@Configuration
public class AppConfig {
@Bean (name="helloWorld")
public HelloWorld helloWorld () {
return new HelloWorld();
}
}
Main.java
public class Main {
public static void main(String[] args) {
/* ---------------------------------------------------------------
* ApplicationContext context =
* new ClassPathXmlApplicationContext ("SpringBeans.xml");
* -------------------------------------------------------------- */
ApplicationContext context =
new AnnotationConfigApplicationContext (AppConfig.class);
HelloWorld hello = (HelloWorld) context.getBean ("helloWorld");
hello.printHelloWorld("Message");
}
}
필요Lib : CGLib (Spring Dependencies / net.sourceforget.cglib package )
pakage com.domain.xxx;
public interface HelloWorld {
void printHelloWorld (String message);
}
HelloWorldImpl.java
public class HelloWorldImpl implements HelloWorld {
@Override
public void printHelloWorld (String message){
System.out.println ("Sring 3 : java Configuration Example Message : " + message);
}
}
AppConfig.java
@Configuration
public class AppConfig {
@Bean (name="helloWorld")
public HelloWorld helloWorld () {
return new HelloWorld();
}
}
Main.java
public class Main {
public static void main(String[] args) {
/* ---------------------------------------------------------------
* ApplicationContext context =
* new ClassPathXmlApplicationContext ("SpringBeans.xml");
* -------------------------------------------------------------- */
ApplicationContext context =
new AnnotationConfigApplicationContext (AppConfig.class);
HelloWorld hello = (HelloWorld) context.getBean ("helloWorld");
hello.printHelloWorld("Message");
}
}
필요Lib : CGLib (Spring Dependencies / net.sourceforget.cglib package )
2011년 11월 12일 토요일
SpringFramework Injection di property
User.java method
package com.domain;
public class User {
// name , age , country 에 beans.xml 에서 bean property 를 이용하여 값을 설정 할수있다
private String name;
private int age;
private String country;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
public String toString (){
return "Name : " + name + " : " + age + " : " + country;
}
}
beans.xml
<bean id="user" class="com.domain.User">
<property name="name" value="홍길동"></property>
<property name="age" value="20"></property>
<property name="country" value="조선"></property>
</bean>
package com.domain;
public class User {
// name , age , country 에 beans.xml 에서 bean property 를 이용하여 값을 설정 할수있다
private String name;
private int age;
private String country;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
public String toString (){
return "Name : " + name + " : " + age + " : " + country;
}
}
beans.xml
<bean id="user" class="com.domain.User">
<property name="name" value="홍길동"></property>
<property name="age" value="20"></property>
<property name="country" value="조선"></property>
</bean>
SpringFramework Construct Injection
applicationContext.xml
<?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="user" class="com.domain.User" >
<!-- Contruct Injection -->
<constructor-arg index="0" value="홍길동"></constructor-arg>
<constructor-arg index="1" value="10"></constructor-arg>
<constructor-arg index="2" value="한국"></constructor-arg>
</bean>
</beans>
applicationContext-2.xml
<?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="user2" class="com.domain.User" >
<!-- Contruct Injection -->
<constructor-arg value="name"></constructor-arg>
<constructor-arg value="12"></constructor-arg>
<constructor-arg value="Korea"></constructor-arg>
</bean>
</beans>
User.java method
package com.domain;
public class User {
private String name;
private int age;
private String country;
// Construct Injection 에 사용되는 Method
public User(String name,int age,String country){
this.name = name;
this.age = age;
this.country = country;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
public String toString (){
return "Name : " + name + " : " + age + " : " + country;
}
}
UserApp.java
package com.service;
import javax.annotation.Resources;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.FileSystemResource;
import org.springframework.core.io.Resource;
import com.domain.User;
public class UserApp {
public static void main (String[] args){
// static Log
final Log logger = LogFactory.getLog(UserApp.class);
logger.info("Logger Start ");
// ------------------ 방법 1 ----------------------------------//
// FileSystemResource ("") 경로에 주의 //
// Resource res = new FileSystemResource("src/beans.xml");
// XmlBeanFactory factory = new XmlBeanFactory(res);
// ------------------- 방법 2 ----------------------------------//
// 클래스 패스의 경로에 위치 //
// ClassPathResource resource = new ClassPathResource ("beans.xml");
// XmlBeanFactory factory = new XmlBeanFactory(resource);
// ----------------------- 방법 3 --------------------------------//
ClassPathXmlApplicationContext appContext =
new ClassPathXmlApplicationContext (new String[] {
"applicationContext.xml" , "applicationContext-2.xml"
});
BeanFactory factory = (BeanFactory) appContext;
User user = (User) factory.getBean("user");
User user2 = (User) factory.getBean("user2");
// ------------------------- 방법 4 -------------------------------//
// ApplicationContext context = new ClassPathXmlApplicationContext ("beans.xml");
// User user = (User) context.getBean("user");
logger.info ("User Class method Start" + user.toString());
System.out.println(user.toString());
System.out.println(user2.toString());
}
}
<?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="user" class="com.domain.User" >
<!-- Contruct Injection -->
<constructor-arg index="0" value="홍길동"></constructor-arg>
<constructor-arg index="1" value="10"></constructor-arg>
<constructor-arg index="2" value="한국"></constructor-arg>
</bean>
</beans>
applicationContext-2.xml
<?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="user2" class="com.domain.User" >
<!-- Contruct Injection -->
<constructor-arg value="name"></constructor-arg>
<constructor-arg value="12"></constructor-arg>
<constructor-arg value="Korea"></constructor-arg>
</bean>
</beans>
User.java method
package com.domain;
public class User {
private String name;
private int age;
private String country;
// Construct Injection 에 사용되는 Method
public User(String name,int age,String country){
this.name = name;
this.age = age;
this.country = country;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
public String toString (){
return "Name : " + name + " : " + age + " : " + country;
}
}
UserApp.java
package com.service;
import javax.annotation.Resources;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.FileSystemResource;
import org.springframework.core.io.Resource;
import com.domain.User;
public class UserApp {
public static void main (String[] args){
// static Log
final Log logger = LogFactory.getLog(UserApp.class);
logger.info("Logger Start ");
// ------------------ 방법 1 ----------------------------------//
// FileSystemResource ("") 경로에 주의 //
// Resource res = new FileSystemResource("src/beans.xml");
// XmlBeanFactory factory = new XmlBeanFactory(res);
// ------------------- 방법 2 ----------------------------------//
// 클래스 패스의 경로에 위치 //
// ClassPathResource resource = new ClassPathResource ("beans.xml");
// XmlBeanFactory factory = new XmlBeanFactory(resource);
// ----------------------- 방법 3 --------------------------------//
ClassPathXmlApplicationContext appContext =
new ClassPathXmlApplicationContext (new String[] {
"applicationContext.xml" , "applicationContext-2.xml"
});
BeanFactory factory = (BeanFactory) appContext;
User user = (User) factory.getBean("user");
User user2 = (User) factory.getBean("user2");
// ------------------------- 방법 4 -------------------------------//
// ApplicationContext context = new ClassPathXmlApplicationContext ("beans.xml");
// User user = (User) context.getBean("user");
logger.info ("User Class method Start" + user.toString());
System.out.println(user.toString());
System.out.println(user2.toString());
}
}
2011년 11월 11일 금요일
SpringFramework BeanFactory 1
User.java
}
UserApplication.java
package com.domain.example
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public UserApplication {
public static void main (String[] args){
// POJO Style Java Code
// User user = new User();
// System.out.println ("User Name is :" + user.getName +
// "Age :" + user.getAge );
//------------------------------------------------------//
// SpringFramework Bean Factory Java Code //
//------------------------------------------------------//
ApplicationContext context = ClassPathXmlApplicationContext ("beans.xml");
User user = (User) context.getBean("user");
System.out.println ("User name is : " + user.getName);
}
}
beans.xml
<?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="user" class="com.domain.example.User" />
</beans>
public class User {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
return name;
}
public void setName(String name) {
this.name = name;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
return age;
}
public void setAge(int age) {
this.age = age;
UserApplication.java
package com.domain.example
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public UserApplication {
public static void main (String[] args){
// POJO Style Java Code
// User user = new User();
// System.out.println ("User Name is :" + user.getName +
// "Age :" + user.getAge );
//------------------------------------------------------//
// SpringFramework Bean Factory Java Code //
//------------------------------------------------------//
ApplicationContext context = ClassPathXmlApplicationContext ("beans.xml");
User user = (User) context.getBean("user");
System.out.println ("User name is : " + user.getName);
}
}
beans.xml
<?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="user" class="com.domain.example.User" />
</beans>
피드 구독하기:
덧글 (Atom)