03-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配置通过4个注解来实现,目前来说功能是一样的== |注解 |描述 | |--|--| |@Component |一般用在身份不明确的组件上 | |@Service |一般用在Service层 | |@Controller |一般用在控制层 | |@Repository |一般用在数据库访问层 |
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();}
}
==运行结果:==
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小时内删除。
留言与评论(共有 0 条评论) |