1.基于xml配置
package com.atguigu.bean;
public class Person {
private String name;
private Integer age;
public Person() {
}
public Person(String name, Integer age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
beans.xml
测试方法
2.基于注解进行配置
1.需要创建一个配置类,并在类上使用**@Configuration**注解
2.需要在Person类中添加有参数的构造方法
package com.atguigu.config;
import com.atguigu.bean.Person;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration //告诉Spring这是一个配置类
public class MainConfig {
@Bean //给容器中注册一个Bean,类型为返回值类型,id默认是方法名
public Person person(){
return new Person("lisi",20);
}
}
3.创建测试类
package com.atguigu;
import com.atguigu.bean.Person;
import com.atguigu.config.MainConfig;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MainTest {
public static void main(String[] args) {
ApplicationContext context = new AnnotationConfigApplicationContext(MainConfig.class);
String[] beanNamesForType = context.getBeanNamesForType(Person.class);//按照类型找组件名字
for (String s : beanNamesForType) {
System.out.println(s);
}
Person bean = context.getBean(Person.class);
System.out.println(bean);
}
}
3.基于注解实现包扫描
- 基于xml文件实现包扫描,需要在spring的配置文件中,开启context命名空间,然后使用如下代码实现
<context:component-scan base-package="com.atguigu"></context:component-scan>
- 基于注解实现的demo
① 创建dao包和BookDao类
package com.atguigu.dao;
import org.springframework.stereotype.Repository;
@Repository
public class BookDao {
}
②创建controller包和BookController类
package com.atguigu.Controller;
import org.springframework.stereotype.Controller;
@Controller
public class BookController {
}
③创建service包和BookService类
package com.atguigu.service;
import org.springframework.stereotype.Service;
@Service
public class BookService {
}