详解Springboot 注入装配到IOC容器方式
短信预约 -IT技能 免费直播动态提醒
1、通过bean注解装配到IOC容器
创建装配的类,如下
package com.sboot.pr.bean;
public class BeanPOJO {
private int id;
private String name;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
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;
}
}
通过bean注解装配BeanPOJO到IOC容器
package com.sboot.pr.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.sboot.pr.bean.BeanPOJO;
@Configuration
public class BeanConfig {
@Bean(name = "beanPOJO")
public BeanPOJO initBeanPOJO() {
BeanPOJO pojo = new BeanPOJO();
pojo.setId(1);
pojo.setName("BeanPOJO");
pojo.setAge(29);
return pojo;
}
}
把装配的BeanPOJO 注入
package com.sboot.pr.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import com.sboot.pr.bean.BeanPOJO;
import com.sboot.pr.bean.ComponentPOJO;
import com.sboot.pr.bean.ComponentScanPOJO;
@RestController
public class TestController {
@Autowired
private BeanPOJO beanPoJO;
@GetMapping("/boot/getBeanPOJO")
public BeanPOJO getBeanPOJO() {
return beanPoJO;
}
}
访问注入的BeanPOJO信息
http://localhost:1111/boot/getBeanPOJO
2、通过Component注解扫描装配bean到IOC容器
创建装配的类,如下
package com.sboot.pr.bean;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.stereotype.Component;
@Component("componentPOJO")
public class ComponentPOJO {
@Value("2")
private int id;
@Value("ComponentPOJO")
private String name;
@Value("29")
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
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;
}
}
把装配的ComponentPOJO 注入
package com.sboot.pr.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import com.sboot.pr.bean.BeanPOJO;
import com.sboot.pr.bean.ComponentPOJO;
import com.sboot.pr.bean.ComponentScanPOJO;
@RestController
public class TestController {
@Autowired
private ComponentPOJO componentPOJO;
@GetMapping("/boot/getComponentPOJO")
public ComponentPOJO getComponentPOJO() {
return componentPOJO;
}
}
访问注入的ComponentPOJO 信息
http://localhost:1111/boot/getComponentPOJO
3、通过ComponentScan注解扫描装配bean到IOC容器
创建装配的类,如下
package com.sboot.pr.bean;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@ComponentScan
public class ComponentScanPOJO {
@Value("3")
private int id;
@Value("ComponentScanPOJO")
private String name;
@Value("29")
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
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;
}
}
把装配的ComponentScanPOJO 注入
package com.sboot.pr.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import com.sboot.pr.bean.BeanPOJO;
import com.sboot.pr.bean.ComponentPOJO;
import com.sboot.pr.bean.ComponentScanPOJO;
@RestController
public class TestController {
@Autowired
private ComponentScanPOJO componentScanPOJO;
@GetMapping("/boot/getComponentScanPOJO")
public ComponentScanPOJO getComponentScanPOJO() {
return componentScanPOJO;
}
}
访问注入的ComponentScanPOJO信息
http://localhost:1111/boot/getComponentScanPOJO
到此这篇关于Springboot 注入装配到IOC容器方式的文章就介绍到这了,更多相关Springboot 注入IOC容器内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341