核心思想
把加载配置文件和创建对象过程,在服务器启动是完成
实现过程
(1)注解创建对象
1.applicationContext.xml配置:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
<!--指定需要扫描的包-->
<context:component-scan base-package="com.tf.spring"></context:component-scan>
</beans>
2.bean的实现类
package com.tf.spring.spring和web.注解创建对象;
import org.springframework.stereotype.Repository;
//bean的实现类
@Repository("user")
public class User {
public void add(){
System.out.println("------add------");
}
}
3.测试类
package com.tf.spring.spring和web.注解创建对象;
import com.tf.spring.spring和web.注解注入对象.UserService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Testspring {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
User user1=(User)context.getBean("user");
System.out.println(user1);
user1.add();
UserService userService=(UserService)context.getBean("userService");
System.out.println(userService);
userService.add();
}
}
(2) 注解注入对象
1.applicationContext.xml配置:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
<!--指定需要扫描的包-->
<context:component-scan base-package="com.tf.spring"></context:component-scan>
</beans>
2.bean的实现类
package com.tf.spring.spring和web.注解注入对象;
import org.springframework.stereotype.Repository;
@Repository("userDao")
public class UserDao {
public void add(){
System.out.println("----dao-----");
}
}
3.测试类
package com.tf.spring.spring和web.注解注入对象;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service("userService")
public class UserService {
@Autowired
// @Resource
private UserDao userDao;
public void add(){
System.out.println("----service-----");
userDao.add();
}
}