ååã¯ãSpring Frameworkã®ç«ã¡äœçœ®ã確èªããéçºç°å¢ã®æºåãè¡ããŸãããç¡äºã«åäœããã§ããããïŒ
ä»åããã¯ãããããSpringãæ¬æ Œçã«åŠãã§ããããã®åå°åºããšããŠããJavaã®ãªããžã§ã¯ãæåããå確èªããŸããæ¥åã·ã¹ãã éçºã«ãããŠããªããžã§ã¯ãæåã®èãæ¹ã¯æ¥µããŠéèŠã§ããSpringã®æ ¹å¹¹ã§ãã**DIïŒäŸåæ§ã®æ³šå ¥ïŒ**ãçè§£ããããã«ãããã£ããæŒãããŠãããŸãããã
1. ãªããžã§ã¯ãæåã®åºæ¬ç念ïŒããã°ã©ã ããã¢ãããšããŠæãã
ãªããžã§ã¯ãæåãšã¯ãããã°ã©ã ãçŸå®äžçã«ãããã¢ãïŒãªããžã§ã¯ãïŒãã®éãŸããšããŠèšèšããèãæ¹ã§ãã
äŸãã°ãèªåè»ãšãã**ã¢ãïŒãªããžã§ã¯ãïŒãèãããšãè²ãé床ãšãã£ãããŒã¿ïŒç¶æ ïŒãšãèµ°ããæ¢ãŸããšãã£ãæäœïŒæ¯ãèãïŒ**ãæã£ãŠããŸãã
ãªããžã§ã¯ãæåã§ã¯ããã®ãããŒã¿ããšãæäœããã»ããã«ãããã®ããã¯ã©ã¹ãã§ãã
2. ã¯ã©ã¹ãšãªããžã§ã¯ãïŒã€ã³ã¹ã¿ã³ã¹ïŒ
2-1. ã¯ã©ã¹ïŒèšèšå³ïŒã®å®çŸ©
ã¯ã©ã¹ã¯ããªããžã§ã¯ããäœãããã®èšèšå³ã§ãã
Java
// Personã¯ã©ã¹ïŒäººéã®èšèšå³ïŒãå®çŸ©
public class Person {
// ããŒã¿ïŒç¶æ
ïŒïŒãã£ãŒã«ã
String name;
int age;
// æäœïŒæ¯ãèãïŒïŒã¡ãœãã
public void greet() {
System.out.println("ããã«ã¡ã¯ãç§ã®ååã¯" + name + "ã§ãã");
}
}
2-2. ãªããžã§ã¯ãïŒå®äœïŒã®çæ
èšèšå³ïŒã¯ã©ã¹ïŒããã£ãŠããããã ãã§ã¯äœãåããŸãããèšèšå³ãããšã«**å®äœïŒãªããžã§ã¯ããŸãã¯ã€ã³ã¹ã¿ã³ã¹ïŒ**ãã¡ã¢ãªäžã«äœãåºãå¿ èŠããããŸãã
ãªããžã§ã¯ããäœãã«ã¯ new æŒç®åã䜿ããŸãã
Java
// mainã¡ãœããå
ã§å®è¡
public class MainApplication {
public static void main(String[] args) {
// Personã¯ã©ã¹ã®ãªããžã§ã¯ããçæïŒã€ã³ã¹ã¿ã³ã¹åïŒ
Person taro = new Person();
Person hanako = new Person();
// ç¶æ
ïŒããŒã¿ïŒãèšå®
taro.name = "倪é";
taro.age = 30;
hanako.name = "è±å";
hanako.age = 25;
// æ¯ãèãïŒã¡ãœããïŒãå®è¡
taro.greet(); // åºå: ããã«ã¡ã¯ãç§ã®ååã¯å€ªéã§ãã
hanako.greet(); // åºå: ããã«ã¡ã¯ãç§ã®ååã¯è±åã§ãã
}
}
3. ç¶æ¿ïŒInheritanceïŒïŒå ±éæ©èœãåå©çšãã
ç¶æ¿ãšã¯ãããã¯ã©ã¹ãæã€æ©èœãæ§è³ªããå¥ã®ã¯ã©ã¹ãåãç¶ãä»çµã¿ã§ããå ±éã®æ©èœã芪ã¯ã©ã¹ã«ãŸãšããã³ãŒãã®éè€ãé²ããŸãã
Java
// 芪ã¯ã©ã¹ïŒAnimalïŒåç©ïŒ
class Animal {
public void eat() {
System.out.println("é£ã¹ç©ãé£ã¹ãŸãã");
}
}
// åã¯ã©ã¹ïŒDogïŒAnimalã®æ©èœãåãç¶ãïŒ
// extendsããŒã¯ãŒãã䜿ã£ãŠç¶æ¿ãã
class Dog extends Animal {
public void bark() {
System.out.println("ã¯ã³ã¯ã³ïŒ");
}
}
3-1. ç¶æ¿ã®å©çš
Dogã¯ã©ã¹ã¯ã芪ã§ããAnimalã¯ã©ã¹ã®eat()ã¡ãœãããèªåçã«æã£ãŠããŸãã
Java
public class InheritanceExample {
public static void main(String[] args) {
Dog pochi = new Dog();
pochi.bark(); // Dogç¬èªã®ã¡ãœãã
pochi.eat(); // Animalããç¶æ¿ããã¡ãœãã
}
}
/* å®è¡çµæ
ã¯ã³ã¯ã³ïŒ
é£ã¹ç©ãé£ã¹ãŸãã
*/
4. ã€ã³ã¿ãŒãã§ãŒã¹ïŒInterfaceïŒïŒåœ¹å²ã®å®çŸ©
æ¥åã·ã¹ãã ã§ã¯ãããã®éšåã¯ããããæ©èœïŒã¡ãœããïŒãå¿ ãæã£ãŠããªããã°ãªããªãããšãã圹å²ãæç¢ºã«å®çŸ©ããããšãéèŠã§ãããã®åœ¹å²ãå®çŸ©ããã®ããã€ã³ã¿ãŒãã§ãŒã¹ãã§ãã
- ã€ã³ã¿ãŒãã§ãŒã¹ã¯**ãå¥çŽã**ã®ãããªãã®ã§ãã¡ãœããã®å®çŸ©ïŒååãåŒæ°ãæ»ãå€ïŒã ããèšè¿°ããŸãã
- ã€ã³ã¿ãŒãã§ãŒã¹ãå®è£ ããã¯ã©ã¹ã¯ããã®ã€ã³ã¿ãŒãã§ãŒã¹ã§å®çŸ©ããããã¹ãŠã®ã¡ãœããã®äžèº«ïŒåŠçïŒãå¿ ãèšè¿°ããªããã°ãªããŸããã
Java
// ã€ã³ã¿ãŒãã§ãŒã¹ã®å®çŸ©ïŒPrintableãšãã圹å²
interface Printable {
// å¥çŽïŒãã®ã¡ãœãããå¿
ãå®è£
ããããš
void printDocument();
}
// Printerã¯ã©ã¹ã¯Printableã®åœ¹å²ãå®è£
ããïŒimplementsããŒã¯ãŒãïŒ
class SimplePrinter implements Printable {
@Override // å®è£
ããŠããããšã瀺ãã¢ãããŒã·ã§ã³
public void printDocument() {
System.out.println("A4çšçŽã«å°å·ããŸããã");
}
}
4-1. ã€ã³ã¿ãŒãã§ãŒã¹ã®éèŠæ§ïŒSpringãžç¹ããïŒ
ã€ã³ã¿ãŒãã§ãŒã¹ã䜿ãããšã§ãç§ãã¡ã¯**ãã©ã®ãããªããªã³ã¿ïŒå®è£ ã¯ã©ã¹ïŒã䜿ãããŠãããããæèããããå°å·ïŒPrintableã®åœ¹å²ïŒãã§ããããšããç¹ã ã**ã«æ³šç®ããŠããã°ã©ã ãçµãããšãã§ããŸãã
ãã®ãå®è£ ã®è©³çްããåãé¢ããŠã圹å²ïŒã€ã³ã¿ãŒãã§ãŒã¹ïŒã«æ³šç®ããããšããèãæ¹ããSpringã®DIïŒäŸåæ§ã®æ³šå ¥ïŒã®æ žå¿ã«ç¹ãããŸãã
â æ¬æ¥ã®ãŸãšã
- ã¯ã©ã¹ã¯ã¢ãã®èšèšå³ã§ãããnewããããšã§ãªããžã§ã¯ãïŒå®äœïŒã«ãªãã
- ç¶æ¿ïŒextendsïŒã«ããã芪ã¯ã©ã¹ã®å ±éæ©èœãåå©çšã§ããã
- ã€ã³ã¿ãŒãã§ãŒã¹ïŒinterface / implementsïŒã¯ãã¯ã©ã¹ãæã€ã¹ã**圹å²ïŒå¥çŽïŒ**ãå®çŸ©ãããæ¥åã·ã¹ãã ã®æè»ãªèšèšã«äžå¯æ¬ ã
ð æ¬¡åäºå
ä»åãã€ã³ã¿ãŒãã§ãŒã¹ãæè»ãªèšèšã«ç¹ãããšãã話ãããŸããããJavaã®ãªããžã§ã¯ãæåã«ã¯ãããšäºã€éèŠãªãã€ã³ããæ®ã£ãŠããŸããããããäŸå€åŠçããšãã³ã¬ã¯ã·ã§ã³ãã§ãã
ç¹ã«ãæ¥åã·ã¹ãã ã§ã¯ãŠãŒã¶ãŒããã®äºæãã¬å ¥åãããã¡ã€ã«ãèŠã€ãããªããªã©ã®ããšã©ãŒããžã®å¯Ÿå¿ïŒäŸå€åŠçïŒãéåžžã«éèŠã«ãªããŸãã
次åïŒã第3åãJavaææ³ã®å確èªïŒäŸå€åŠçãšã³ã¬ã¯ã·ã§ã³ïŒ ã§ãå®å šã§å¹ççãªã·ã¹ãã éçºã®ããã®åºæ¬ãåŠã³ãŸãããæ¥œãã¿ã«ïŒ


ã³ã¡ã³ã