Spring(一)—— IOC实现3

阅读: 评论:0

Spring(一)—— IOC实现3

Spring(一)—— IOC实现3

03-Java配置和自动配置

一、Java配置

Java配置:本质上就是,使用一个Java类去代替xml配置,这种配置方式在SpringBoot中得到了广泛的使用 1.创建Java项目,引入相关jar包:需要新增aop和aspects两个jar包

2.创建实体类:

public class User {public void fly() {System.out.println("阁下何不同风起,扶摇直上九万里");}
}

3.Java配置文件

@Configuration	//让当前类和l作用等价
public class JavaConfig {/*** 	初始化容器,并创建出User对象* @return*/@Bean	//作用和<bean>的作用是一样的,id和name默认是和方法名相同的public User getUser(){return new User();}
}

4.Test测试类

public class User {public void fly() {System.out.println("阁下何不同风起,扶摇直上九万里");}
}

二、自动配置

==同样需要新增aop和aspects两个jar包== xml或者Java类的配置方式,对于所有要使用的类都需要一个一个的配置。可以通过自动配置来简化Bean的配置。

(一)XML文件配置

==xml配置通过4个注解来实现,目前来说功能是一样的== |注解 |描述 | |--|--| |@Component |一般用在身份不明确的组件上 | |@Service |一般用在Service层 | |@Controller |一般用在控制层 | |@Repository |一般用在数据库访问层 |

(二)JavaBean类实现xml自动配置

1.需要在l文件中开启注解扫描:NameSpaces:xmlns:context

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns=""xmlns:xsi=""xmlns:p=""xmlns:context=""xsi:schemaLocation=" .xsd .3.xsd"><!-- 开启扫描 --><context:component-scan base-package="com.sxt.*"></context:component-scan>
</beans>

2.Java对象中添加对应的注解

@Component	//该注解的作用相当于在l文件中配置了bean标签
public class User {public void fly(){System.out.println("阁下何不同风起,扶摇直上九万里");}
}

3.测试类

public class Test {@org.junit.Testpublic void test() {ApplicationContext ac = new ClassPathXmlApplicationContext(&#l");User user = ac.getBean(User.class);user.fly();}
}

==运行结果:==

(三)传统MVC层实现xml自动配置

1.创建Java项目,引入相关jar包:同样需要aop和aspects两个jar包

2.创建dao层接口和实现类

public interface IUserDao {public String say(String msg);
}
//@Component
@Repository	//
public class UserDaoImpl implements IUserDao {public String say(String msg) {System.out.println("--->"+msg);return "我来自dao层";}
}

3.创建service层接口和实现类

public interface IUserService {public void say(String msg);
}
//@Component
@Service
public class UserServiceImpl implements IUserService {
//	@Resource	//默认根据name注入对象;jdk提供的注解;除此之外和@Autowired一致@Autowired	//只能根据类型注入对象;Spring框架提供的注解;需要根据name注入对象需要和@Qualifier一块使用private IUserDao dao;public void setDao(IUserDao dao) {this.dao = dao;}@Overridepublic void say(String msg) {System.out.println(this.dao.say(msg));}
}

4.创建Controller类

//@Component
@Controller
public class UserController {
//	@Resource@Autowired	自动注入private IUserService service;public void say() {service.say("一颗稗子提心吊胆的春天");}
}

5.测试类

public class Test {@org.junit.Testpublic void test() {ApplicationContext ac = new ClassPathXmlApplicationContext(&#l");UserController controller = ac.getBean(UserController.class);controller.say();}
}

==运行结果:==

转载于:

本文发布于:2024-02-03 07:32:39,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170691675949558.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:Spring   IOC
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23