Spring之IOC
来源:互联网 发布:linux route指令 编辑:程序博客网 时间:2024/05/20 07:35
Spring是于2003 年兴起的一个轻量级的Java 开发框架。
Spring之IOC,控制反转,后认为 依赖注入,更为准确。
注入 有 构造器注入 与 set注入。 一般都使用后者。
<bean id="myService" class="com.ServiceImpl"> <property name="dao" ref="myDao"/> </bean> <bean id="myDao" class="com.DaoImpl"/>
可以直接使用 注解,来减少xml中的bean
扫描指定包下的类
<context:component-scan base-package="com"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/> <context:exclude-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice"/> <context:exclude-filter type="assignable" expression="com.123465.eyas.common.conf.SwaggerConfig"/> </context:component-scan>
注解可以自动完成 set 方法
@Controller 一般用于SpringMVC中的 Controller
@Service 一般用于Service
@mybatisRepository 一般用于Dao进行数据的访问
@Autowired 一般用于成员变量
@Component 是一种通用的组件
注解还可以显示的指定其名称,作用域
@Scope("prototype") @Service("userService") public class UserService {
如果没有显示的 指定名称,则 BeanNameGenerator会默认给该类起名,名字以类名为基础并且首字母小写
注解默认的作用域为 singleton (单例)
java 中的反射机制基础,可以帮助我们理解 依赖注入
import java.lang.reflect.Constructor;import java.lang.reflect.Method;public class TestReflect { public static void main(String[] args) { Class<?> c = null; // same as new Person().getClass().getName() 获取该类的完全限定名,就是我们在bean中配置的class String TotalClassName = Person.class.getName(); try { System.out.println("-----无参构造-----"); c = Class.forName(TotalClassName); Person person = (Person) c.newInstance(); person.setName("lyle"); person.setAge(23); System.out.println(person); System.out.println("-----有参构造-----"); Constructor<?> con = c.getConstructor(String.class, int.class); Person p = (Person) con.newInstance("lyle", 23); System.out.println(p); System.out.println("-----有参的方法调用-----"); Method m = c.getMethod("sayHi", String.class, int.class); m.invoke(c.newInstance(), "lyle", 23); } catch (Exception e) { e.printStackTrace(); } }}
0 0
- Spring之IOC
- Spring之IOC
- 玩玩Spring之IOC
- 玩玩Spring之IOC
- 初识Spring之IOC
- Spring 之IOC
- Spring之AOP IOC
- Spring之IOC
- Spring之IOC
- spring之ioc原理
- Spring之IOC
- spring之IOC
- Spring之IOC
- Spring之IoC容器
- Spring之IOC
- Spring框架之IOC
- Spring之IoC原理
- Spring之IOC
- TCP Pacing的linux内核代码
- 一道程序初始化顺序题目引起的讨论
- Jquery当前日期的前一天
- poj 2186 Popular Cows(强连通分量模板题,tarjan)
- LeetCode105. Construct Binary Tree from Preorder and Inorder Traversal
- Spring之IOC
- WMS系统对接OMS接口经验
- commons-lang3-3.1.jar在BuildPath导入后运行仍报错:java.lang.ClassNotFoundException: org.apache.commons.lang3.S
- C语言静态分配数组和动态分配数组
- DMA
- java中break
- 每日一linux命令(44)-------netstat命令
- https双向认证的问题
- 浮点数在内存中的存储方式