Syain.java (service)
L @ServiceでDIコンテナに登録する
package com.example.demo; import org.springframework.stereotype.Service; @Service public class Syain { public String getName() { return "tanka"; } }
MainController.java
L Autowiredとは、自動的にクラスのプロパティ(setter)や、メンバ変数に値を設定する機能
package com.example.demo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class MainController { @Autowired Syain syain; @GetMapping("/test1") public String write1() { return syain.getName(); } }
ほう、、、
### アプリ起動時にインスタンスを取得する
Syain.java
package com.example.demo; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration L @BeanはSpring起動時に設定の内容を取り込む public class Syain { @Bean public String getName() { return "sato"; } }
TestApplication.java
package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; @SpringBootApplication public class TestApplication { public static void main(String[] args) { ApplicationContext syain = new AnnotationConfigApplicationContext(Syain.class); SpringApplication.run(TestApplication.class, args); } }
@Beanって起動時の設定のことか、豆の印象が強すぎてイマイチ頭に入って来んかった。。