반응형
'JAVA > Spring' 카테고리의 다른 글
| [Spring] MCV (0) | 2014.11.18 |
|---|---|
| [Spring] AOP (0) | 2014.11.18 |
| [Spring] DI oracle (데이터베이스 접속하기) (0) | 2014.11.18 |
| [Spring] message 언어 선택 (0) | 2014.11.18 |
| [spring] 팩토리 클래스 찾아서 메서드 호출하기( IOC ) (0) | 2014.11.18 |
| [Spring] MCV (0) | 2014.11.18 |
|---|---|
| [Spring] AOP (0) | 2014.11.18 |
| [Spring] DI oracle (데이터베이스 접속하기) (0) | 2014.11.18 |
| [Spring] message 언어 선택 (0) | 2014.11.18 |
| [spring] 팩토리 클래스 찾아서 메서드 호출하기( IOC ) (0) | 2014.11.18 |
Dao.java
package dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import dto.Member;
public class Dao {
// 데이터베이스 연동에 필요한 4가지 정보를 저장할 변수
private String driver;
private String url;
private String user;
private String password;
// driver는 생성자에서 넘겨받을 것입니다.
public Dao(String driver) {
super();
this.driver = driver;
}
// url, user, password는 프로퍼티로 만들어서 나중에 대입받을 수 있도록 생성
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public void setUser(String user) {
this.user = user;
}
public void setPassword(String password) {
this.password = password;
}
// 실제 작업을 수행하는 메서드
public void task() {
Connection con = null;
// sql 문장을 수행하기 위한 인터페이스
PreparedStatement ps1 = null;
PreparedStatement ps2 = null;
// select 문장의 결과를 저장하기 위한 변수
ResultSet rs = null;
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
con = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
e.printStackTrace();
}
Member user = new Member();
user.setId("MoonRiver111");
user.setName("Jesica111");
user.setPassword("Newziland111");
try {
ps1 = con
.prepareStatement("insert into members(id, name, password) values(?,?,?)");
ps1.setString(1, user.getId());
ps1.setString(2, user.getName());
ps1.setString(3, user.getPassword());
ps1.executeUpdate();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
try {
ps2 = con.prepareStatement("select * from members where id = ?");
ps2.setString(1, "MoonRiver");
rs = ps2.executeQuery();
if (rs.next()) {
Member user1 = new Member();
user1.setId(rs.getString("id"));
user1.setName(rs.getString("name"));
user1.setPassword(rs.getString("password"));
System.out.println(user1);
} else {
System.out.println("데이터가 없습니다.");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
Main.java
package dao;
import org.springframework.context.support.GenericXmlApplicationContext;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
GenericXmlApplicationContext context =
new GenericXmlApplicationContext("applicationContext.xml");
Dao dao = context.getBean("Dao",Dao.class);
dao.task();
}
}
Member.java
package dto;
import java.io.Serializable;
public class Member implements Serializable {
private String id;
private String name;
private String password;
//빈 객체를 생성할때
public Member() {
super();
// TODO Auto-generated constructor stub
}
public Member(String id, String name, String password) {
super();
this.id = id;
this.name = name;
this.password = password;
}
//접근자 메서드(getter, setter): 멤버 변수를 실제로 사용할 때 호출하는 메서드
//setter가 있을때는 property 또는 attribute라고 하기도 합니다.
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "Member [id=" + id + ", name=" + name + ", password=" + password
+ "]";
}
}
applicationContext.xml
oracle.jdbc.driver.OracleDriver boxer boxing Haglar
| [Spring] MCV (0) | 2014.11.18 |
|---|---|
| [Spring] AOP (0) | 2014.11.18 |
| [Spring] Message (0) | 2014.11.18 |
| [Spring] message 언어 선택 (0) | 2014.11.18 |
| [spring] 팩토리 클래스 찾아서 메서드 호출하기( IOC ) (0) | 2014.11.18 |
Data.java
package message;
public class Data {
private String name;
private int num;
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Data [name=" + name + ", num=" + num + "]";
}
}
Main.java
package message;
import org.springframework.context.support.GenericXmlApplicationContext;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
GenericXmlApplicationContext context = new GenericXmlApplicationContext(
"message/applicationContext.xml");
MessageBean mb = context.getBean("insa", MessageBeanEn.class);
mb.greeting("키키키");
String str = context.getBean("str", String.class);
System.out.println("Str: " + str);
Data data = context.getBean("data",Data.class);
data.setName("으악으각");
System.out.println("데이터: "+data);
}
}
MessageBean.java
package message;
public interface MessageBean {
public void greeting(String name);
}
MessageBeanEn.java
package message;
public class MessageBeanEn implements MessageBean{
@Override
public void greeting(String name) {
// TODO Auto-generated method stub
System.out.println("Hello ~ " + name);
}
}
MessageBeanKr.java
package message;
public class MessageBeanKr implements MessageBean{
@Override
public void greeting(String name) {
// TODO Auto-generated method stub
System.out.println("안녕하세요~ "+name+"님");
}
}
applicationContext.xml
안녕안녕 키키키키킼
20141015_Spring_message.zip| [Spring] MCV (0) | 2014.11.18 |
|---|---|
| [Spring] AOP (0) | 2014.11.18 |
| [Spring] Message (0) | 2014.11.18 |
| [Spring] DI oracle (데이터베이스 접속하기) (0) | 2014.11.18 |
| [spring] 팩토리 클래스 찾아서 메서드 호출하기( IOC ) (0) | 2014.11.18 |
Main.java
package project_1;
import java.sql.Date;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.support.GenericXmlApplicationContext;
public class Main {
public static void main(String[] args) {
// Project_method obj = Obj_Factory.create();
// 스프링의 팩토리 클래스 찾아오기
// AnnotationConfigApplicationContext context =
// new AnnotationConfigApplicationContext(Obj_Factory.class);
// 팩토리 클래스에서 팩토리 메서드를 호출
// 두번째 매개변수는 팩토리 메서드의 리턴타입입니다.
// Project_method obj = context.getBean("create",Project_method.class);
// Project_method obj1 = context.getBean("create",Project_method.class);
// System.out.println(obj.hashCode() +" : "+obj1.hashCode());
// project.xml에 있는 create라는 아이디를 가진 bean 태그 호출해서
// Project_method 클래스 타입의 객체 주소를 obj에 대입
GenericXmlApplicationContext context = new GenericXmlApplicationContext(
"project_1/project_1.xml");
Project_method obj = context.getBean("create", Project_method.class);
//Date obj1 = context.getBean("today",Date.class);
boolean result = obj.prime(7);
if (result) {
System.out.println("소수");
} else
System.out.println("소수 아님");
Date obj1 = context.getBean("today", Date.class);
System.out.println("오늘!: "+obj1);
// String str = context.getBean("build", String.class);
// System.out.println(str);
}
}
Obj_Factory.java
package project_1;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
//스프링의 팩토리 클래스로 변환
@Configuration
public class Obj_Factory {
// Method 클래스의 객체를 생성해주는 메서드
//스프링의 팩토리 메서드로 변환
@Bean
static public Project_method create() {
return new Project_method();
}
@Bean
static public String build() {
return new String("Hello world");
}
}
Project_method.java
package project_1;
public class Project_method {
// 정수를 매기변수로 받아서 소수인지 판별해주는 메서드
// 소수는 2부터 자기 자신의 절반까지 나누어 떨어지지 않으면 소수
public boolean prime(int index) {
boolean result = true;
for (int i = 2; i < index/2; i++) {
if(index % i == 0){
result = false;
break;
}
}
return result;
}
}
project_1.xml
| [Spring] MCV (0) | 2014.11.18 |
|---|---|
| [Spring] AOP (0) | 2014.11.18 |
| [Spring] Message (0) | 2014.11.18 |
| [Spring] DI oracle (데이터베이스 접속하기) (0) | 2014.11.18 |
| [Spring] message 언어 선택 (0) | 2014.11.18 |
| [Android] MultiMedia 예제 (0) | 2014.11.18 |
|---|---|
| [Android] Json 파싱 예제 (0) | 2014.11.18 |
| [Android] xml 파싱 예제 (0) | 2014.11.18 |
| [Android] url Image 가져오기 예제 (0) | 2014.11.18 |
| [Android] url 사용 예제 (0) | 2014.11.18 |
| [Android] video 예제 (카메라) (0) | 2014.11.18 |
|---|---|
| [Android] Json 파싱 예제 (0) | 2014.11.18 |
| [Android] xml 파싱 예제 (0) | 2014.11.18 |
| [Android] url Image 가져오기 예제 (0) | 2014.11.18 |
| [Android] url 사용 예제 (0) | 2014.11.18 |
| [Android] video 예제 (카메라) (0) | 2014.11.18 |
|---|---|
| [Android] MultiMedia 예제 (0) | 2014.11.18 |
| [Android] xml 파싱 예제 (0) | 2014.11.18 |
| [Android] url Image 가져오기 예제 (0) | 2014.11.18 |
| [Android] url 사용 예제 (0) | 2014.11.18 |
| [Android] MultiMedia 예제 (0) | 2014.11.18 |
|---|---|
| [Android] Json 파싱 예제 (0) | 2014.11.18 |
| [Android] url Image 가져오기 예제 (0) | 2014.11.18 |
| [Android] url 사용 예제 (0) | 2014.11.18 |
| [Android] I/O 예제 (파일 입출력) (0) | 2014.11.18 |
| [Android] Json 파싱 예제 (0) | 2014.11.18 |
|---|---|
| [Android] xml 파싱 예제 (0) | 2014.11.18 |
| [Android] url 사용 예제 (0) | 2014.11.18 |
| [Android] I/O 예제 (파일 입출력) (0) | 2014.11.18 |
| [Android] Notification (알림) 예제 (0) | 2014.11.18 |
| [Android] xml 파싱 예제 (0) | 2014.11.18 |
|---|---|
| [Android] url Image 가져오기 예제 (0) | 2014.11.18 |
| [Android] I/O 예제 (파일 입출력) (0) | 2014.11.18 |
| [Android] Notification (알림) 예제 (0) | 2014.11.18 |
| [Android] Thread 예제 (0) | 2014.11.18 |