public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
### []( )2.dao:验证用户密码是否准确
@Repository
public class UserDao {
private final String USERNAME="lmr";
private final String PASSWORD="lcy";
public User queryUserByName(String username){
if(username==null||username==""){
return null;
}
else {
if(username.equals(USERNAME)){
User user=new User();
user.setPassword(PASSWORD);
user.setUsername(USERNAME);
return user;
}
else {
return null;
}
}
}
}
### []( )3.service:根据传入的用户名和密码进行格式判断并调用dao验证
@Service(“aaa”)
public class UserService {
@Resource
public UserDao userDao;
public String login(String username,String password) throws Exception{
if(username==null||"".equals(username)){
return "用户名为空";
}
if(password==null||"".equals(password)){
return "密码为空";
}
User user = userDao.queryUserByName(username);
if(user==null){
return "用户不存在";
}
else{
if(password.equals(user.getPassword())){
return "登入成功";
}
else {
return "登入失败";
}
}
}
}
### []( )4.spring.xml中包扫描目录下的所有bean对象
<?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
http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="com.lcySpring"/>
### []( )5.测试java类,进行用户登录模拟
public class UserServiceTest {
@Test
public void login() throws Exception{
ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
UserService userService = (UserService)context.getBean("aaa");
String login =userService.login("lmr","lcy");
System.out.println(login);
}
}
[]( )三、Bean作用域
--------------------------------------------------------------------
### []( )1.判断是否是单例
public class SpringScopeTest {
@Test
public void test01(){
ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
System.out.println(context.isSingleton("aaa"));
}
}
### []( )2.可以通过修改xml文件中bean标签的scope进行修改
<?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
http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="com.lcySpring"/>
<bean id="userService" class="com.lcySpring.service.UserService" scope="prototype"></bean>
### []( )3.也可以通过标签设置
@Service(“aaa”)
@Scope(“prototype”)
### []( )4.设置懒加载
用到的时候调用就好了
[]( )四、Bean的生命周期
----------------------------------------------------------------------
### []( )1.初始化监听
(1)在配置文件中通过指定init-method属性来完成
<bean id="accountDao" class="com.lcySpring.dao.AccountDao" init-method="init"></bean>
这里的init对应的是AccountDao中初始化的方法名
public class AccountDao implements InitializingBean {
public void init(){
System.out.println("AccountDao>>>>>>>>>>>>>>>>>init");
}
@Override
public void afterPropertiesSet() throws Exception {
System.out.println("AccountDao>>>>>>>>>>>>>>>>>init");
}
}
(2)实现org.springframework.beans.factory.InitializingBean接口
public class AccountDao implements InitializingBean {}
### []( )2.销毁
(1)destroy-method=“destroy”
在xml文件中配置
(2)需要一个抽象的环境AbstractApplicationContext
设置测试类
public class AccountDaoTest {
总结
虽然我个人也经常自嘲,十年之后要去成为外卖专员,但实际上依靠自身的努力,是能够减少三十五岁之后的焦虑的,毕竟好的架构师并不多。
架构师,是我们大部分技术人的职业目标,一名好的架构师来源于机遇(公司)、个人努力(吃得苦、肯钻研)、天分(真的热爱)的三者协作的结果,实践+机遇+努力才能助你成为优秀的架构师。
如果你也想成为一名好的架构师,那或许这份Java成长笔记你需要阅读阅读,希望能够对你的职业发展有所帮助。
CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】
ass AccountDaoTest {
总结
虽然我个人也经常自嘲,十年之后要去成为外卖专员,但实际上依靠自身的努力,是能够减少三十五岁之后的焦虑的,毕竟好的架构师并不多。
架构师,是我们大部分技术人的职业目标,一名好的架构师来源于机遇(公司)、个人努力(吃得苦、肯钻研)、天分(真的热爱)的三者协作的结果,实践+机遇+努力才能助你成为优秀的架构师。
如果你也想成为一名好的架构师,那或许这份Java成长笔记你需要阅读阅读,希望能够对你的职业发展有所帮助。
CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】
[外链图片转存中…(img-X9oOdQEP-1630575511060)]